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