Основная проблема заключается в медленном запуске Java JVM.
Существует два возможных способа решения этой проблемы:
Попробуйте ускорить запуск JVM.
Перепроектируйте свою систему, чтобы избежать нескольких запусков JVM.
Один из способов ускорить запуск с помощью AOT.В Java 9 была представлена экспериментальная функция компиляции «AOTO» с целью уменьшения накладных расходов на запуск и прогрев.См. https://www.baeldung.com/ahead-of-time-compilation и https://openjdk.java.net/jeps/295 для получения дополнительной информации.
Обратите внимание, что Java AOT является экспериментальной функцией.Я не видел отчетов о том, насколько это эффективно в реальных приложениях.
Другой подход заключается в перепроектировании вашей системы, так что JVM не нужно запускать JVM так часто.Вот несколько способов сделать это:
Перепроектировать SOAP API, чтобы запросы SOAP выполняли больше работы;например, вместо того, чтобы каждый запрос выполнял одну задачу, создайте такую, которая выполняет пакет задач.
Перепроектируйте приложение Java, чтобы оно выполняло пакет запросов SOAP.Например, если ваш сценарий оболочки зацикливается на куче файлов и вызывает приложение Java для каждого из них, измените его так, чтобы приложение само выполняло циклы.
Повторная архитектура приложения Javaв долгосрочную службу, в которую вы можете отправлять запросы, используя HTTP / HTTPS (например, с curl
), «перетаскивая файлы в каталог», и так далее.Здесь есть много возможных вариантов.