Come aumentare il timeout transazione nel server di LiveCycle di Adobe? chiamata di servizio lungo non riesce con un'eccezione di timeout

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

  •  05-09-2019
  •  | 
  •  

Domanda

Siamo la conversione di file PDF di grandi dimensioni utilizzando il servizio ConvertPDF Adobe LiveCycle.

Questo funziona bene per i file PDF più piccoli, ma non riesce quando si cerca di convertire un file PDF di grandi dimensioni (circa 150 MB - non chiedere)

.

Sembra che Adobe imposta il timeout di una transazione di circa 14 minuti (?). Per quanto tempo di elaborazione per il nostro enorme PDF supera questa volta, l'operazione viene interrotta. Abbiamo provato più file PDF, quindi questo non è probabile che sia causato da file di input danneggiato.

Ecco l'output che un'eccezione produce:

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

Finora -. Sembra logico

Tuttavia, non riesco a trovare dove la lunghezza della transazione è configurato. Credo che se abbiamo aumentato il timeout a qualcosa come 30 minuti, il nostro problema sarebbe andato via. (Anche il problema sarebbe andato via se avessimo modo di invocare questa operazione senza eventuali operazioni ...)

Diciamo che stiamo semplicemente correndo in questo modo:

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

Tuttavia, o non stiamo allestendo ServiceClientFactory correttamente, o forse non leggere JBoss config correttamente, non riusciamo a trovare modo per rendere la transazione vivono più a lungo. (È il tempo di transazione per vivere veramente il problema?)

È stato utile?

Soluzione

In LiveCycle console di amministrazione semplicemente andare a Home> Servizi> Servizi e Applicazioni> Gestione del Servizio> ConvertPdfService

Il timeout di servizio può essere cambiata lì.

Durante il test con la conversione da PDF (generato da iText) che contiene 39k pagine (13 iniziali, ciascuno clonati 3000 volte, dimensioni ~ 15Mb) -Final file PostScript di output era ~ 1,25Gb. Tutta opera voluti circa 2 ore. Ma ha funzionato, nessun problema.

(immagino che questa risposta rende la questione non-programmazione relativa, ma hey.)

Altri suggerimenti

Questa voce nel blog LiveCycle prodotto potrebbe anche aiutare: http://blogs.adobe.com/livecycle/2008/10/livecycle_processing_big_docum. html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top