我正在Tomcat上安装cd_preview_webservice,它还具有用于登台网站(用于UI)和cd_upload(部署到网站)的应用程序。
当我点击“更新预览”或“完成编辑”时,我收到以下错误:
COM /外表套上/部署者/ TCDLTransformer
此外,这会将tomcat进程发送到100%的CPU使用率。
我已经重新阅读了说明书,但我看不出我犯了哪些错误。任何帮助非常感谢。
由于 标记
我已经做了一些挖掘,看起来我在“PREVIEW_SESSIONS”表中将会话预览ID保存到数据库中,但其他人都是空的。我觉得很奇怪。
我还发现以下Web服务调用'http://bbtrid04/WebUI/Models/SiteEdit/Services/Services.svc/GetPreviewToken'收到以下响应:
{“ExceptionDetail”:null,“ExceptionType”:null,“Message”:“PermGen space”,“StackTrace”:null}
并且localhost日志文件包含以下错误:
07-Aug-2012 17:34:04 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet httpupload threw exception
java.lang.OutOfMemoryError: PermGen space
at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:361)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at com.tridion.transport.HTTPSReceiverServlet.handleUpload(HTTPSReceiverServlet.java:233)
at com.tridion.transport.HTTPSReceiverServlet.doPost(HTTPSReceiverServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
07-Aug-2012 17:34:05 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet httpupload threw exception
java.lang.VerifyError: (class: org/apache/commons/fileupload/disk/DiskFileItem, method: getUniqueId signature: ()Ljava/lang/String;) Illegal constant pool index
at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:199)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:361)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at com.tridion.transport.HTTPSReceiverServlet.handleUpload(HTTPSReceiverServlet.java:233)
at com.tridion.transport.HTTPSReceiverServlet.doPost(HTTPSReceiverServlet.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
答案 0 :(得分:4)
当JVM加载类时,它会将它们放入其堆的PermGen空间,默认为64MB。
你展示的堆栈跟踪是一个死的赠品,你的JVM正在加载比它有空间更多的类,并且肯定会解释它没有找到TCDLTransformer的抱怨。
我的-XX:MaxPermSize=256m
通常有一个setenv.bat
,以确保有足够的空间。根据您启动Tomcat的方式,您可能需要将其放在那里或服务运行器参数中。