2009-02-18 5 views
1

Nous convertissons un fichier PDF volumineux à l'aide du service Adobe LiveCycle ConvertPDF.Comment augmenter le délai d'expiration d'une transaction dans un serveur Adobe LiveCycle? L'appel de service long échoue avec l'exception timeout

Cela fonctionne très bien pour les petits fichiers PDF, mais échoue lorsque nous essayons de convertir un fichier PDF volumineux (environ 150mb - ne demandez pas).

Il semble qu'Adobe règle le délai d'expiration d'une transaction autour de 14 (?) Minutes. Comme le temps de traitement pour notre énorme PDF dépasse cette fois, l'opération est annulée. Nous avons essayé plusieurs fichiers PDF, ce qui n'est pas susceptible d'être causé par un fichier d'entrée corrompu.

est ici la sortie de cette exception produit:

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) 
    [...] 

Jusqu'à présent - semble logique.

Cependant, je ne peux pas trouver où la longueur de la transaction est configurée. Je suppose que si nous augmentions le délai d'attente à quelque chose comme 30 minutes, notre problème disparaîtrait. (également le problème disparaîtrait si nous avions moyen d'invoquer cette opération sans aucune transaction ...)

Disons que nous courons simplement comme ceci:

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")) 

Cependant, que ce soit nous ne sommes pas Si vous configurez correctement ServiceClientFactory ou si vous ne lisez pas correctement la configuration de JBoss, nous ne pouvons pas trouver de moyen de prolonger la durée de vie de la transaction. (Est-ce le temps de transaction pour vivre vraiment la question?)

Répondre

1

Dans LiveCycle Administration Console allez simplement à Accueil> Services> Applications et Services> Gestion des services> ConvertPdfService

Le délai d'attente de service peut être changé là. Lors du test avec la conversion pdf (généré par iText) qui contient 39k pages (13 initiales, chaque clone 3000 fois, taille ~ 15Mb) -le fichier PostScript final de sortie était ~ 1,25Gb. Tout le travail a pris environ 2 heures. Mais cela a fonctionné, pas de problèmes.

(Je suppose que cette réponse fait liée, mais la question sans programmation hey.)

Questions connexes