كيفية زيادة مهلة المعاملات في خادم Adobe LiveCycle؟ فشل مكالمة خدمة طويلة مع استثناء مهلة

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

  •  05-09-2019
  •  | 
  •  

سؤال

نحن نقوم بتحويل ملف PDF كبير باستخدام خدمة Adobe LiveCycle ConvertPDF.

هذا يعمل بشكل جيد لملفات PDF أصغر، ولكنه فشل عندما نحاول تحويل ملف PDF كبير (حوالي 150 ميجابايت - لا تسأل).

يبدو أن Adobe يحدد مهلة المعاملة حوالي 14 (؟) دقيقة. كما وقت المعالجة ل PDF الضخمة يتجاوز هذه المرة، يتم إحباط العملية. حاولنا عدة ملفات PDF، لذلك ليس من المرجح أن يكون هذا ناتج عن ملف الإدخال التالف.

إليك الإخراج الذي ينتج عنه الاستثناء:

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

حتى الآن - يبدو منطقية.

ومع ذلك، لا يمكنني العثور على مكان تكوين طول المعاملة. أعتقد أنه إذا قمنا بزيادة المهلة إلى شيء مثل 30 دقيقة، فإن مشكلتنا ستذهب بعيدا. (كما ستزول المشكلة إذا كان لدينا طريقة لاستدعاء هذه العملية دون أي معاملات ...)

دعنا نقول أننا نبذلها ببساطة مثل هذا:

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

ومع ذلك، فإننا لا نقوم بإعداد الخدمة بشكل صحيح، أو ربما لا تقرأ تكوين JBoss بشكل صحيح، لا يمكننا إيجاد طريقة لجعل المعاملة تعيش لفترة أطول. (هل وقت المعاملات للعيش حقا المشكلة؟)

هل كانت مفيدة؟

المحلول

in LiveCycle Administration Console ببساطة تذهب إلى الصفحة الرئيسية> الخدمات> التطبيقات والخدمات> إدارة الخدمة> ConvertPDFService

يمكن تغيير مهلة الخدمة هناك.

عند الاختبار مع تحويل PDF (تم إنشاؤه بواسطة iText) يحتوي على صفحات 39k (13 الأولي، كل استنساخ 3000 مرة، حجم ~ 15 ميغابايت) ملف postscript المخرج هو ~ 1،25 جيجابايت. استغرق العمل كله حوالي 2 ساعة. لكنها عملت، لا توجد مشاكل.

(أعتقد أن هذه الإجابة تجعل السؤال غير برمجي يتعلق، ولكن مهلا.)

نصائح أخرى

قد يساعد هذا الإدخال في بلوق منتج LiveCycle أيضا:http://blogs.Adobe.com/livecycle/2008/10/livecycle_processing_big_docum.html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top