Como aumentar a tempo limite da transação no servidor Adobe LiveCycle? chamada de serviço longa falha com exceção de tempo limite

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

  •  05-09-2019
  •  | 
  •  

Pergunta

Estamos convertendo grande arquivo PDF usando o serviço ConvertPDF Adobe LiveCycle.

Esta multa funciona para arquivos PDF menores, mas falha quando tenta converter um grande arquivo PDF. (Cerca de 150MB - não pergunte)

Parece Adobe define o tempo limite de uma transação de cerca de 14 (?) Minutos. Como o tempo de processamento para a nossa enorme PDF exceder este tempo, a operação é abortada. Tentámos vários PDFs, então isso não é susceptível de ser causada por arquivo de entrada corrompida.

Aqui está a saída que exceção produz:

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

Até agora -. Parece lógico

No entanto, não consigo encontrar onde o comprimento transação é configurada. Eu acho que se nós aumentamos o limite de tempo para algo como 30 minutos, o nosso problema seria ir longe. (Também o problema iria embora se tivéssemos maneira de invocar esta operação sem quaisquer transações ...)

Vamos dizer que estamos simplesmente executá-lo como este:

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

No entanto, quer não estamos a criação de ServiceClientFactory corretamente, ou talvez não lendo JBoss config-corretamente, não podemos encontrar maneira de fazer a transação viver mais tempo. (É o tempo de transação para viver realmente o problema?)

Foi útil?

Solução

Em LiveCycle Administration Console simplesmente ir para Início> Serviços> Aplicações e Serviços> Gerenciamento de Serviços> ConvertPdfService

O tempo limite serviço pode ser mudado lá.

Ao testar com a conversão de PDF (gerado por iText) que contém 39K páginas (13 iniciais, cada clonados 3000 vezes, tamanho ~ 15Mb) saída -Final arquivo PostScript foi ~ 1,25Gb. trabalho todo levou cerca de 2 horas. Mas funcionou, sem problemas.

(acho que esta resposta faz a pergunta não-programação relacionados, mas hey.)

Outras dicas

Esta entrada no Blog LiveCycle produto poderá também ajuda: http://blogs.adobe.com/livecycle/2008/10/livecycle_processing_big_docum. html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top