StackOverflowError应用Alfresco规则将Word Doc转换为PDF

时间:2012-10-04 10:06:39

标签: pdf alfresco openoffice.org libreoffice

我正在尝试定位以下内容:

使用WebDav或抛出 Alfresco(社区):当前版本3.4.0(d 3370)架构4113 管理界面,我正在尝试上传Microsoft Office 2003/2007或OpenOffice / LibreOffice文档进入Alfresco存储库并使用与相关节点关联的规则,将文档转换为 PDF 格式。

Alfresco实例正在 WnXP 上运行,LibreOffice作为 CentOS 6.4

上的无头实例运行

我按照此处引用的链接将OpenOffice支持添加到我的Alfresco实例,但似乎实际上不起作用。当规则试图启动时我有一个例外。

链接:

http://wiki.alfresco.com/wiki/Setting_up_OpenOffice_for_Alfresco

例外:

ERROR;04/10/2012 16:48:55;;;[Utils];Failed to create content due to error: 09040000 Exception in Transaction.
org.alfresco.error.AlfrescoRuntimeException: 09040000 Exception in Transaction.
at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:466)
at org.alfresco.web.bean.dialog.BaseDialogBean.finish(BaseDialogBean.java:124)
at org.alfresco.web.bean.dialog.DialogManager.finish(DialogManager.java:528)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:132)
at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:61)
at javax.faces.component.UICommand.broadcast(UICommand.java:109)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:171)
at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:139)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:104)
at sun.reflect.GeneratedMethodAccessor416.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy232.doFilter(Unknown Source)
at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
at sun.reflect.GeneratedMethodAccessor416.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)Caused by: java.lang.StackOverflowError
at org.springframework.beans.factory.support.AbstractBeanFactory.transformedBeanName(AbstractBeanFactory.java:951)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:229)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:265)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1004)
at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:69)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy98.isConnected(Unknown Source)

我的配置: 的Tomcat /共享/类/ alfresco-global.properties

module.id=org.alfresco.remoteOpenOffice
module.version=0.1
module.title=Remote OpenOffice
module.repo.version.min=2.2
ooo.host=192.168.14.67
ooo.port=8100
ooo.enabled=true

的Tomcat /共享/类/露天/扩展/远程的OpenOffice-context.xml中

<bean id="openOfficeConnection" class="net.sf.jooreports.openoffice.connection.SocketOpenOfficeConnection">
<constructor-arg type="java.lang.String" value="192.168.14.67"/>
<constructor-arg type="int" value="8100"/>
 </bean>
 <bean id="transformer.OpenOffice" class="org.alfresco.repo.content.transform.RemoteOpenOfficeContentTransformer" parent="baseContentTransformer" >
<property name="connection">
    <ref bean="openOfficeConnection" />
</property>
<property name="documentFormatsConfiguration">
    <value>classpath:alfresco/mimetype/openoffice-document-formats.xml</value>
</property>
 </bean>

并添加 tomcat / shared / classes / alfresco / mimetype / openoffice-document-formats.xml

Alfresco主机和openOffice主机之间没有防火墙

提前致谢

1 个答案:

答案 0 :(得分:1)

StackOverflowError通常由无限(或至少过度)递归引起。既然你提到规则,你的规则的结果(例如修改或创建一个节点)是否有可能再次触发规则,导致无休止的序列?

您使用的规则究竟是什么?例如,它是否触发任何mimetype或Word文档?

该文件夹上只有一个规则,还是几个?