对于那些可能因为"没有建设性而投票支持这个问题的人 - 目前看来,这个问题不适合我们的问答形式." - 如果你建议我应该在哪里发布这个问题(https://softwareengineering.stackexchange.com/?或任何以CMS为中心的论坛?)会很棒
之前曾提出过类似的问题:
所有这些都已经有几年了,所以我想知道是否有新的建议/讨论.
一些背景:我们是Java商店,我们为客户创建/维护网站,我们的技术堆栈是Java,Spring,SQL,JSP,HTML5,JQuery,Tomcat,JBoss,Maven等......通常的东西.到目前为止,就"内容"而言,我们要么将其放入JSP读取的一些属性文件中(例如产品X的描述)或提供动态内容的后端服务(例如,产品X的当前值是什么) ).
现在我们正在重新思考我们管理内容的方法,因为我们正在为具有相同内容的客户端管理越来越多的属性(例如,网站,移动网站,移动应用程序等),所以我们当然希望避免使用多个副本.相同的内容传播.
我特别想要的一些事情:
基于Java(因为我们是Java商店:1)在处理基于Java的东西方面的更多专业知识和2)避免在堆栈中引入另一种技术)
可扩展性/定制.需要能够自定义CMS(这就是我们希望坚持我们的Java专业知识的原因),以便可以扩展它以与其他Web服务连接以使用内容等.
专注于内容 - 我们需要明确区分内容与UI呈现,回到我们正在寻找的内容,我们需要将内容传递到单独的属性中.
用于访问内容的RESTful服务/ API - 与上述相同.我们需要将内容直接作为JSON/JSON-P /访问.XML Feed.
需要有一个像样的用户界面,并且对业务用户来说越直观越好,因为我们可能被移动到平台的一些客户可能想要管理他们自己的内容
多语言支持
开源/低成本
到目前为止,我有几个选择:
Adobe CQ - 看起来是最理想的解决方案,但不幸的是它成本过高
Hippo CMS - 看起来适合我们正在寻找的东西,我不确定它的记录有多好,教程/方法似乎相当稀少,它们在欧洲的市场份额似乎比在北美更大.
Liferay - 更加专注于"门户"而不是CMS提供内容
Alfresco - 更专注于"文件"
dotCMS - 像Hippo CMS一样,似乎这个可能符合我们的需求.
Magnolia CMS - 与dotCMS和Hippo一样环顾同一条小巷.从我看到的评论看来,他们似乎更关注单个网站,而不是内容与UI之间的清晰分离.
我个人之前没有太多直接使用CMS的经验.
您对上述每个选项的想法/意见,或者如果您有其他解决方案,请不要在此提及,我们将不胜感激!我的挑战之一是我们需要做出一个非常合理的决定,因为无论我们决定采用哪种方式,我们都可能会坚持下去,决定不是很容易被丢弃并重新开始的.
我正在寻找为我的公司设计一个小型电子商务网站.我将在后端使用Spring和Java的东西.该网站应该是设备响应.我很困惑决定使用哪个CMS.请有人帮助我.
我正在开发一个基于玉兰的网站.我正在使用webapp原型来创建一个新的Web应用程序.使用命令行,我能够生成一个WAR并将其部署在我的容器(Tomcat)中.我然后运行它,它工作正常.
我的下一步是将我的项目结构导入IntelliJ.IntelliJ认为一切都很好,并且能够编译所有内容.我先测试了maven clean,然后让IntelliJ完成其余的工作(重建项目).
最后一步是让它在我的容器中运行.我之前为网络应用设置了运行配置(他们不使用战争叠加),他们工作得很好.在这种情况下,我像以前一样设置它并指向我的爆炸webapp工件.
一旦我运行tomcat,它就找不到我的webapp.我发现覆盖层还没有合并到项目的目标目录中(通常就是在进行maven安装时).然而,IntellJ在我的项目中创建了一个覆盖目录,并在那里解压缩(overlay/super)WAR文件.
当我自己进行maven安装时,我得到它的工作,然后在IntelliJ中运行Tomcat.这是显而易见的,因为现在所有需要的文件都在我的目标目录中(例如web.xml):).
我想要的是: - IntelliJ知道当它运行Tomcat时,它应该像"mvn install"或"mvn package"那样准备目标目录.
它的作用: - 它介于两者之间.它确实创建了一个目标目录,它确实从webapp项目中复制资源.它不会覆盖任何WAR依赖项,因此webapp目标目录不完整.
任何人有任何解决这个问题的技巧?
我对Java应用程序有一个非常奇怪的问题.
基本上它是一个使用玉兰(一个cms系统)的网页,在生产环境中有4个实例可用.有时CPU在java进程中达到100%.
所以,第一种方法是进行线程转储,并检查有问题的线程,我发现的是奇怪的:
"GC task thread#0 (ParallelGC)" prio=10 tid=0x000000000ce37800 nid=0x7dcb runnable
"GC task thread#1 (ParallelGC)" prio=10 tid=0x000000000ce39000 nid=0x7dcc runnable
Run Code Online (Sandbox Code Playgroud)
好吧,这很奇怪,我从来没有像这样的垃圾收集器,所以接下来我们做的是激活JMX并使用jvisualvm检查机器:堆内存使用率非常高(95%).
天真的方法:增加内存,所以问题需要更多的时间才能在重新启动的服务器上出现,结果,内存增加(6 GB!)问题出现在重新启动后20小时,而其他服务器上的内存较少(4GB!)运行了10天,这个问题还需要几天才能重新出现.此外,我尝试使用服务器失败的apache访问日志,并使用JMeter将请求重播到本地服务器,以尝试重现错误...它也不起作用.
然后我更多地调查了日志以找到这个错误
info.magnolia.module.data.importer.ImportException: Error while importing with handler [brightcoveplaylist]:GC overhead limit exceeded
at info.magnolia.module.data.importer.ImportHandler.execute(ImportHandler.java:464)
at info.magnolia.module.data.commands.ImportCommand.execute(ImportCommand.java:83)
at info.magnolia.commands.MgnlCommand.executePooledOrSynchronized(MgnlCommand.java:174)
at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:161)
at info.magnolia.module.scheduler.CommandJob.execute(CommandJob.java:91)
at org.quartz.core.JobRunShell.run(JobRunShell.java:216)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
Run Code Online (Sandbox Code Playgroud)
另一个例子
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Arrays.java:2894)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)
at java.lang.StringBuilder.append(StringBuilder.java:136)
at java.lang.StackTraceElement.toString(StackTraceElement.java:175)
at java.lang.String.valueOf(String.java:2838)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at java.lang.Throwable.printStackTrace(Throwable.java:529)
at org.apache.log4j.DefaultThrowableRenderer.render(DefaultThrowableRenderer.java:60) …Run Code Online (Sandbox Code Playgroud) 我对Spring模拟用户没有任何了解.
我已经通过一些示例代码来模拟用户,并注意到SwitchUserFilter用于此实现.
如何使用Spring SwitchUserFilter Filter实现模拟用户以及它是如何工作的?冒充用户的内部流程是什么?
在我的应用程序中,我也使用spring security.
任何人都可以通过简单的描述或任何示例来帮助我实现这一目标吗?
我们正在研究基于 java 的 CMS(是的 java,我们正在远离脚本语言)。
任何人都有使用 Magnolia 和 Jahia 社区版的经验,制作模块更容易,您的整体体验如何?
房车
我正在为我的项目使用Resteasy和Spring.正如Resteasy文件所述:http://docs.jboss.org/resteasy/docs/3.0.1.Final/userguide/html_single/index.html#RESTEasy_Spring_Integration .
我需要在web.xml文件中添加一个监听器:
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
Run Code Online (Sandbox Code Playgroud)
<listener>
<listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>
Run Code Online (Sandbox Code Playgroud)
但是,在我的项目中,我们还使用了一个名为magnolia的cms,而magnolia也有一个SpringContextLoaderListener的实现.如果我把两个上下文监听器.当我运行应用程序时,玉兰花不会启动.
所以根据Resteasy的文件说:
如果不使用Spring ContextLoaderListener创建bean工厂,则可以通过分配org.jboss.resteasy.plugins.spring.SpringBeanProcessor的实例来手动注册RESTeasy BeanFactoryPostProcessor.您可以从ServletContext属性org.jboss.resteasy.spi.ResteasyProviderFactory和org.jboss.resteasy.spi.Registry获取ResteasyProviderFactory和Registry的实例.(真的是这些类的字符串FQN).还有一个org.jboss.resteasy.plugins.spring.SpringBeanProcessorServletAware,它将自动从Servlet Context注入对Registry和ResteasyProviderFactory的引用.(也就是说,如果您使用RestasyBootstrap来引导Resteasy).
有没有人知道如何在不使用Resteasy ContextLoaderListener的情况下实现这一目标?我需要在spring applicationContext xml文件中添加什么内容?
我只是在尝试Magnolia CMS。我遇到了绊脚石。
我的步骤:
HTTP状态500-javax.servlet.ServletException:info.magnolia.rendering.engine.RenderException:info.magnolia.registry.RegistrationException:hello-magnolia:pages / hello
我尝试在Author中发布所有内容并重新启动服务器,但是到目前为止,错误仍然存在。
任何帮助都会很棒。
我一直在Magnolia 代码示例中的 FreeMarker 代码末尾看到感叹号。例如:
${content.header!}
Run Code Online (Sandbox Code Playgroud)
感叹号叫什么,它有什么作用?
我正在尝试创建一个Magnolia项目原型:
我在跑
mvn archetype:generate -DarchetypeCatalog=http://nexus.magnolia-cms.com/content/groups/public/
Run Code Online (Sandbox Code Playgroud)
我选择
5:http://nexus.magnolia-cms.com/content/groups/public/ - > info.magnolia.maven.archetypes:magnolia-project-archetype(创建Magnolia项目的原型(父pom和webapp) ))
archetype version我选择1.1.0定义属性'magnolia-version'的值:5.0.4
当我运行maven构建时,webapp构建失败,因为它无法找到一些vaadin库
[WARNING] The POM for org.vaadin.addons:icepush:jar:0.5.3 is missing, no dependency information available
[WARNING] The POM for org.vaadin.addons:cssinject:jar:2.0.3 is missing, no dependency information available
[WARNING] The POM for org.vaadin.addons:gwt-graphics:jar:1.0.0 is missing, no dependency information available
[WARNING] The POM for org.vaadin.addons:ckeditor-wrapper-for-vaadin:jar:7.8.3 is missing, no dependency information available
[WARNING] The POM for org.vaadin.addon:easyuploads:jar:7.0.0 is missing, no dependency information available
[WARNING] The POM for org.vaadin.addons:refresher:jar:1.2.1.7 is missing, no dependency …Run Code Online (Sandbox Code Playgroud)