Я ищу инструмент для запуска процессов Java-сервера в качестве служб daemon в Linux (и, возможно, в Windows и других ОС). Я ищу лучшие практики, когда речь заходит о том, как создавать сценарии, позволяющие создавать сценарии, и запускать конфигурацию.Рекомендации по созданию сценариев службы Java или демонов
Я знаком с лучшими практиками, когда речь идет о сборке проекта, используя Apache Maven или что-то вроде Apache ANT + Ivy для управления процессом сборки и управления внешними зависимостями, а также для сборки артефактов и сборок.
Когда дело доходит до создания сборки проекта, содержащей скрипты конфигурации и запуска, а также весь скомпилированный код и зависимости, я не знаю, какой лучший выбор. Есть ли хороший проект с открытым исходным кодом, который я мог бы рассмотреть в качестве примера, который связывает оболочку службы и сценарии конфигурации с их процессом сборки?
Я был в состоянии использовать Maven с Jetty Launch plugin запускать мои веб-приложения, Terracotta Maven plugin протестировать несколько узлов сервера JVM кластерные и я использовал в Maven exec:java запускать мои пользовательские Java-сервера, но я не уверен, что с помощью Maven в этом качестве действительно является «производственным» качеством, также это означает, что мои производственные серверы зависят от построения серверов от источника и загрузки зависимостей от потенциально недоступных серверов.
Вот некоторые потенциальные вещи, я ищу в Java службы пусковых решений:
- должен работать в качестве службы Linux или процесса службы Windows
- Может быть построен с использованием плагина Maven или Ant скрипта и разрешить мне обрабатывать файлы конфигурации и скрипты
- Должен иметь возможность включать все зависимости моего проекта от Apache Ant
- Должен быть способен вытащить полный сервер веб-приложений Java (например, Jetty 7) и настроить с помощью моего пользовательского интерфейса веб приложение «S война
- Должно быть в состоянии обрабатывать стандартную службу Java-демона (пользовательские Java-сервер)
Некоторые из вариантов я, глядя на являются Java Service Wrapper, который используется в Maven appassembler plugin.
Также с использованием Maven's assembly plugin и пользовательских дескрипторов сборки я могу настроить выход сборки.