I just want to share experience regarding LibreOffice / OpenOffice
usability with jodconverter tool.
I was experimentaly using LibreOffice 3.4.3 and I found out that in
case of using LibreOffice I had a lot of exceptions of this kind:
[26 okt 2011 17:57:08,800] INFO251964[OfficeProcessThread-0] -
OfficeProcess.forciblyTerminate(OfficeProcess.java:212) - trying to
forcibly terminate process:
'socket,host=127.0.0.1,port=8101,tcpNoDelay=1'
[26 okt 2011 17:57:08,925] INFO252089[MessageDispatcher] -
OfficeConnection$1.disposing(OfficeConnection.java:58) - disconnected:
'socket,host=127.0.0.1,port=8101,tcpNoDelay=1'
[26 okt 2011 17:57:08,925] WARN252089[MessageDispatcher] -
PooledOfficeManager$1.disconnected(PooledOfficeManager.java:50) -
connection lost unexpectedly; attempting restart
[26 okt 2011 17:57:09,050] INFO252214[OfficeProcessThread-0] -
ManagedOfficeProcess.doTerminateProcess(ManagedOfficeProcess.java:172)
- process forcibly terminated with code 1
[26 okt 2011 17:57:09,550] INFO252714[OfficeProcessThread-0] -
OfficeProcess.forciblyTerminate(OfficeProcess.java:212) - trying to
forcibly terminate process:
'socket,host=127.0.0.1,port=8101,tcpNoDelay=1'
[26 okt 2011 17:57:09,550]ERROR252714[ajp-8110-1] -
PdfGeneratorImpl.getOOPdf(PdfGeneratorImpl.java:746) -
org.artofsolving.jodconverter.office.OfficeException: task failed
at
org.artofsolving.jodconverter.office.PooledOfficeManager.execute(PooledOfficeManager.java:
96)
at
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.execute(ProcessPoolOfficeManager.java:
78)
at
org.artofsolving.jodconverter.OfficeDocumentConverter.convert(OfficeDocumentConverter.java:
90)
at
com.mobitel.templates.PdfGeneratorImpl.getOOPdf(PdfGeneratorImpl.java:
718)
at
com.mobitel.templates.PdfGeneratorImpl.getPdfMultiple(PdfGeneratorImpl.java:
460)
at sun.reflect.GeneratedMethodAccessor93.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.xml.ws.api.server.InstanceResolver
$1.invoke(InstanceResolver.java:246)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
at
com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:
257)
at
com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:
93)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:
243)
at com.sun.xml.ws.transport.http.HttpAdapter
$HttpToolkit.handle(HttpAdapter.java:444)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:
244)
at
com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:
135)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:
129)
at
com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:
160)
at
com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:
75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
172)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
174)
at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:
444)
at org.apache.coyote.ajp.AjpAprProtocol
$AjpConnectionHandler.process(AjpAprProtocol.java:472)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:
1286)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.concurrent.CancellationException
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:230)
at java.util.concurrent.FutureTask.get(FutureTask.java:91)
at
org.artofsolving.jodconverter.office.PooledOfficeManager.execute(PooledOfficeManager.java:
85)
... 36 more
Now I am back on using OpenOffice 3.2.1 as rendering engine, and those
exceptions are not happening... I am using single office in open
office pool and I am restarting it after 200 conversions in each
scenario.
Does anybody experienced something similar?