Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0
-
None
-
None
-
None
Description
Hi Guys,
I'm dealing with really large data so using conserve memory flag as below
foUserAgent.setConserveMemoryPolicy(true);
But it seems that in multithreaded mode all of the threads use the same default location set by the resolver:
CachedRenderPagesModel.class: tempBaseURI = TEMP_URI_GENERATOR.generate(); So I can see in the logs: ... Delegating to default resolver for uri: tmp:/fop-page-873.ser ...
But in multithreaded configuration I'm getting the below exception:
13:59:53.334 [task-scheduler-4] ERROR org.apache.fop.apps.FOUserAgent- Error while serializing page 4. Reason: java.io.IOException: /tmp/fop-page-3.ser2704106194054979958.fop.tmp has been already created for /fop-page-3.ser java.io.IOException: /tmp/fop-page-3.ser2704106194054979958.fop.tmp has been already created for /fop-page-3.ser at org.apache.fop.apps.io.ResourceResolverFactory$DefaultTempResourceResolver.createTempFile(ResourceResolverFactory.java:187) ~[fop-2.0.jar!/:na] at org.apache.fop.apps.io.ResourceResolverFactory$DefaultTempResourceResolver.getOutputStream(ResourceResolverFactory.java:199) ~[fop-2.0.jar!/:na] at org.apache.fop.apps.io.ResourceResolverFactory$TempAwareResourceResolver.getOutputStream(ResourceResolverFactory.java:159) ~[fop-2.0.jar!/:na] at org.apache.fop.apps.io.ResourceResolverFactory$DefaultResourceResolver.getOutputStream(ResourceResolverFactory.java:126) ~[fop-2.0.jar!/:na] at com.xxxxxxx.fop.XXXXXX.getOutputStream(XXXXXX.java:87) ~[xxx.jar!/:na] at org.apache.fop.apps.io.InternalResourceResolver.getOutputStream(InternalResourceResolver.java:103) ~[fop-2.0.jar!/:na] at org.apache.fop.area.CachedRenderPagesModel.savePage(CachedRenderPagesModel.java:128) [fop-2.0.jar!/:na] at org.apache.fop.area.CachedRenderPagesModel.checkPreparedPages(CachedRenderPagesModel.java:110) [fop-2.0.jar!/:na] at org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:146) [fop-2.0.jar!/:na]
Can you please advise if there is a way to maybe configure it for multithreaded mode - maybe I'm missing something? How to make this tmp files unique...
Or it is rather a bug?