2009-02-18 91 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個小時。但它的工作,沒有問題。

(我想這個答案讓這個問題不編程相關的,但嘿。)