¿Cómo aumentar el tiempo de espera de transacción en el servidor Adobe LiveCycle? llamada de servicio larga falla con excepción de tiempo de espera

StackOverflow https://stackoverflow.com/questions/561858

  •  05-09-2019
  •  | 
  •  

Pregunta

Estamos convirtiendo el archivo PDF de gran tamaño utilizando el servicio ConvertPDF Adobe LiveCycle.

Esto funciona bien para los archivos PDF más pequeños, pero falla cuando se intenta convertir un archivo PDF de gran tamaño (alrededor de 150 MB - no pregunte)

.

Parece que Adobe establece el tiempo de espera de una transacción de alrededor de 14 minutos (?). A medida que el tiempo de procesamiento para nuestra enorme PDF excede este tiempo, se aborta la operación. Tratamos varios archivos PDF, así que esto no es probable que sea causado por archivo de entrada dañada.

Aquí está la salida que produce una excepción:

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

Hasta el momento -. Parece lógico

Sin embargo, no puedo encontrar donde se configura la longitud transacción. Creo que si aumentamos el tiempo de espera a algo así como 30 minutos, nuestro problema se iría. (También el problema desaparecería si teníamos manera de invocar esta operación sin ningún tipo de transacciones ...)

Digamos simplemente estamos quedando de esta manera:

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

Sin embargo, ya sea no estamos poniendo en marcha ServiceClientFactory correctamente, o tal vez no leer JBoss configuración adecuada, que no podemos encontrar manera de hacer la transacción a vivir más tiempo. (Es el tiempo de transacción para vivir realmente el problema?)

¿Fue útil?

Solución

En la consola de administración LiveCycle simplemente vaya a Inicio> Servicios> Aplicaciones y Servicios> Servicio de Gestión> ConvertPdfService

El tiempo de espera de servicio puede ser cambiado allí.

Cuando se prueba con la conversión de PDF (generada por iText) que contiene 39k (13 páginas iniciales, cada uno clonados 3000 veces, el tamaño de ~ 15 Mb) -Final archivo PostScript de salida fue de ~ 1,25Gb. el trabajo conjunto tomó aproximadamente 2 horas. Pero funcionó, no hay problemas.

(supongo que esta respuesta hace que la cuestión no de programación relacionada, pero bueno.)

Otros consejos

Esta entrada en el blog LiveCycle producto también podría ayudar: http://blogs.adobe.com/livecycle/2008/10/livecycle_processing_big_docum. html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top