2009-02-18 89 views
1

我们正在使用Adobe LiveCycle ConvertPDF服务转换大型PDF文件。如何增加Adobe LiveCycle服务器中的事务超时?长时间服务呼叫失败,超时异常

这适用于较小的PDF文件,但当我们试图转换一个大的PDF文件时(150MB左右 - 不要问)会失败。

看起来Adobe似乎将事务超时设置为14(?)分钟左右。由于我们庞大的PDF的处理时间超过此时间,操作会中止。 我们尝试了多个PDF文件,因此这可能不是由输入文件损坏引起的。

下面是异常产生的输出:

com.adobe.livecycle.convertpdfservice.exception.ConvertPdfException: ALC-DSC-000-000: com.adobe.idp.dsc.DSCException: Internal error. 
    at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2WithSMT(ConvertPdfServiceImpl.java:117) 
    at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2(ConvertPdfServiceImpl.java:93) 
    [...] 
Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCException: Internal error. 
    at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl$1.doInTransaction(ConvertPdfServiceImpl.java:110) 
    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapterBean.doRequiresNew(EjbTransactionBMTAdapterBean.java:218) 
    [...] 
Caused by: com.adobe.livecycle.convertpdfservice.exception.ConvertPdfException: Cannot convert PDF file to PostScript. 
Exception: "Transaction timed out: Couldn't connect to Datamanager Service" 
    at com.adobe.convertpdf.ConvertPdfBmcWrapper.convertPdftoPs(ConvertPdfBmcWrapper.java:207) 
    at com.adobe.convertpdf.ConvertPdfServer.convertPdftoPs(ConvertPdfServer.java:121) 
    at com.adobe.convertpdf.docservice.ConvertPdfServiceImpl.toPS2InTxn(ConvertPdfServiceImpl.java:129) 
    [...] 

到目前为止 - 似乎是合乎逻辑。

但是,我找不到事务长度的配置。我想如果我们将超时时间增加到30分钟,我们的问题就会消失。 (同样的问题会消失,如果我们有调用这个操作没有任何交易的方式......)

比方说,我们只运行这样的:

ServiceClientFactory factory = com.adobe.idp.dsc.clientsdk.ServiceClientFactory.createInstance(connectionProps); 

ConvertPdfServiceClient convertPDFClient = new com.adobe.livecycle.convertpdfservice.client.ConvertPdfServiceClient(factory); 

// ... set-up details skipped ... 
com.adobe.idp.Document result_postscript = convertPDFClient.toPS2(inPdf,options); 
result_postscript.copyToFile(new File("c:/Adobe/output.ps")) 

然而,无论我们是不是正确设置ServiceClientFactory,或者可能没有正确读取JBoss配置,我们无法找到让交易活得更久的方法。 (在事务的生存时间真正的问题?)

回答

1

在的LiveCycle管理控制台只需转到 首页>服务>应用和服务>服务管理> ConvertPdfService

服务超时才会有改变。

当测试包含39k页(13个首字母,每个克隆3000次,大小〜15Mb)的转换pdf(由iText生成)时 - 最终输出PostScript文件为〜1.25Gb。整个工作大约需要2个小时。但它的工作,没有问题。

(我想这个答案让这个问题不编程相关的,但嘿。)