Первое генерирование PDF документа Wildfly с использованием Apache FOP после перезагрузки сервера занимает много времени - PullRequest
1 голос
/ 17 октября 2019

На Wildfly 10.0 развернуто EAR приложение, в котором генерируется PDF документ. Генерация происходит во время звонка в службу REST и использует Apache FOP 2.3. Когда служба сначала вызывается после перезапуска / повторного развертывания, генерация приложения выполняется в течение почти 6 секунд, а последующие - через 0,7 секунды.

Схема создания документа:

  1. Генерация XMLс данными и XSLT с дизайном.
  2. Создать FopFactory -> получить RenderFactory из FopFactory -> получить новый FOUserAgent для FopFactory.
  3. Создать fop из FopFactory (на основе MIME_PDF, FOUserAgent и ByteArrayOutputSt).
  4. Создать TransformerFactory -> получить новый Transformer of TransformerFactory с помощью XSLT.
  5. Получить основанный на xml.transform.Result fop.defaultHandler и выполнить преобразование XML в PDF.
  6. Выводится результирующий байтовый массивв ByteArrayInputStream.

Как можно ускорить первое поколение PDF-файлов? В журналах при первом запуске генерируется около 10 000 строк при инициализации компонентов Apache FOP.

...