Karol Dowbecki
unread,Sep 1, 2010, 3:59:55 AM9/1/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to JODConverter
I've got a Servlet that creates connection in it's init() method just
like in docs:
officeManager = new DefaultOfficeManagerConfiguration()
.setOfficeHome(configuration.getString("office.home"))
.setConnectionProtocol(OfficeConnectionProtocol.PIPE)
.setPipeNames(configuration.getString("office.pipe") + "1",
configuration.getString("office.pipe") + "2")
.setTaskExecutionTimeout(configuration.getLong("office.taskExecutionTimeout"))
.buildOfficeManager();
officeManager.start();
It runs on Suse Linux Enterprise 11, java 1.5.0 (system requirement),
and my java $CLASSPATH contains library required by named pipes.
However the first time I execute my Servlet it fails with exception
(full stack trace at the end of my message):
org.artofsolving.jodconverter.office.OfficeException: could not
establish connection
After examining system processes I see that only one soffice.bin
instance was created:
root 8922 74.1 0.9 103040 29096 pts/0 Rl 09:30 0:20 /
usr/lib/ooo3/program/soffice.bin -accept=pipe,name=ooopipe1;urp; -
env:UserInstallation=file:///my/path/tomcat/
temp/.jodconverter_pipe_name-ooopipe1 -headless -nocrashreport -
nodefault -nofirststartwizard -nolockcheck -nologo -norestore
If I kill that process manually and access my Servlet second time
everything works fine, the document is created and there are two
soffice.bin instances, like always.
root 9022 21.7 1.2 134884 36828 pts/0 Sl 09:33 0:00 /
usr/lib/ooo3/program/soffice.bin -accept=pipe,name=ooopipe1;urp; -
env:UserInstallation=file:///my/path/tomcat/
temp/.jodconverter_pipe_name-ooopipe1 -headless -nocrashreport -
nodefault -nofirststartwizard -nolockcheck -nologo -norestore
root 9041 36.1 1.2 134884 36812 pts/0 Sl 09:33 0:00 /
usr/lib/ooo3/program/soffice.bin -accept=pipe,name=ooopipe2;urp; -
env:UserInstallation=file:///my/path/tomcat/
temp/.jodconverter_pipe_name-ooopipe2 -headless -nocrashreport -
nodefault -nofirststartwizard -nolockcheck -nologo -norestore
What's going on here? Full stack trace below:
2010-09-01 09:31:03,500 [http-8080-Processor24] ERROR
my.package.servlets.OpenOfficeServlet - failed to start and connect
org.artofsolving.jodconverter.office.OfficeException: failed to start
and connect
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:
61)
at
org.artofsolving.jodconverter.office.PooledOfficeManager.start(PooledOfficeManager.java:
102)
at
org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start(ProcessPoolOfficeManager.java:
59)
at my.package.servlets.OpenOfficeServlet.init(OpenOfficeServlet.java:
64)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1139)
at
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:
791)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
127)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
174)
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:
151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
870)
at org.apache.coyote.http11.Http11BaseProtocol
$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:
665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:
528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:
81)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.util.concurrent.ExecutionException:
org.artofsolving.jodconverter.office.OfficeException: could not
establish connection
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:205)
at java.util.concurrent.FutureTask.get(FutureTask.java:80)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:
59)
... 17 more
Caused by: org.artofsolving.jodconverter.office.OfficeException: could
not establish connection
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:
123)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access
$000(ManagedOfficeProcess.java:31)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess
$1.run(ManagedOfficeProcess.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:675)
... 1 more
Caused by: org.artofsolving.jodconverter.office.RetryTimeoutException:
java.net.ConnectException: connection failed: 'pipe,name=ooopipe1';
null
at
org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:
48)
at
org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:
31)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:
113)
... 8 more
Caused by: java.net.ConnectException: connection failed:
'pipe,name=dsreport1'; null
at
org.artofsolving.jodconverter.office.OfficeConnection.connect(OfficeConnection.java:
101)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess
$6.attempt(ManagedOfficeProcess.java:116)
at
org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:
41)
... 10 more
2010-09-01 09:31:03,515 [http-8080-Processor24] ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].
[OpenOfficeServlet] - Allocate exception for servlet OpenOfficeServlet
java.net.ConnectException: connection failed: 'pipe,name=ooopipe1';
null
at
org.artofsolving.jodconverter.office.OfficeConnection.connect(OfficeConnection.java:
101)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess
$6.attempt(ManagedOfficeProcess.java:116)
at
org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:
41)
at
org.artofsolving.jodconverter.office.Retryable.execute(Retryable.java:
31)
at
org.artofsolving.jodconverter.office.ManagedOfficeProcess.doStartProcessAndConnect(ManagedOfficeProcess.java:
113)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess.access
$000(ManagedOfficeProcess.java:31)
at org.artofsolving.jodconverter.office.ManagedOfficeProcess
$1.run(ManagedOfficeProcess.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)