SDL Tridion 2012 UI - 更新预览和发布时出错

Mar*_*per 6 tridion tridion-2011

我在Tomcat上安装cd_preview_webservice,它还具有用于登台网站(用于UI)和cd_upload(部署到网站)的应用程序.

当我单击"更新预览"或"完成编辑"时,我收到以下错误:

COM /的tridion /部署/ 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)
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 4

当 JVM 加载类时,它会将它们放入其堆的 PermGen 空间中,默认为 64MB。

您显示的堆栈跟踪完全暴露了您的 JVM 正在加载的类超出了其空间,并且肯定会解释它对找不到 TCDLTransformer 的抱怨。

-XX:MaxPermSize=256m我通常会有一个setenv.bat以确保有足够的空间。根据您启动 Tomcat 的方式,您可能需要将其放在此处或服务运行程序参数中。