2009-08-11 2 views
3

Я ищу инструмент для запуска процессов Java-сервера в качестве служб daemon в Linux (и, возможно, в Windows и других ОС). Я ищу лучшие практики, когда речь заходит о том, как создавать сценарии, позволяющие создавать сценарии, и запускать конфигурацию.Рекомендации по созданию сценариев службы Java или демонов

Я знаком с лучшими практиками, когда речь идет о сборке проекта, используя Apache Maven или что-то вроде Apache ANT + Ivy для управления процессом сборки и управления внешними зависимостями, а также для сборки артефактов и сборок.

Когда дело доходит до создания сборки проекта, содержащей скрипты конфигурации и запуска, а также весь скомпилированный код и зависимости, я не знаю, какой лучший выбор. Есть ли хороший проект с открытым исходным кодом, который я мог бы рассмотреть в качестве примера, который связывает оболочку службы и сценарии конфигурации с их процессом сборки?

Я был в состоянии использовать Maven с Jetty Launch plugin запускать мои веб-приложения, Terracotta Maven plugin протестировать несколько узлов сервера JVM кластерные и я использовал в Maven exec:java запускать мои пользовательские Java-сервера, но я не уверен, что с помощью Maven в этом качестве действительно является «производственным» качеством, также это означает, что мои производственные серверы зависят от построения серверов от источника и загрузки зависимостей от потенциально недоступных серверов.

Вот некоторые потенциальные вещи, я ищу в Java службы пусковых решений:

  1. должен работать в качестве службы Linux или процесса службы Windows
  2. Может быть построен с использованием плагина Maven или Ant скрипта и разрешить мне обрабатывать файлы конфигурации и скрипты
  3. Должен иметь возможность включать все зависимости моего проекта от Apache Ant
  4. Должен быть способен вытащить полный сервер веб-приложений Java (например, Jetty 7) и настроить с помощью моего пользовательского интерфейса веб приложение «S война
  5. Должно быть в состоянии обрабатывать стандартную службу Java-демона (пользовательские Java-сервер)

Некоторые из вариантов я, глядя на являются Java Service Wrapper, который используется в Maven appassembler plugin.

Также с использованием Maven's assembly plugin и пользовательских дескрипторов сборки я могу настроить выход сборки.

ответ

3

Обертка для обслуживания Java, похоже, довольно распространена. Я видел, как он использовался несколькими людьми, особенно в nexus.

3

Предпочитаемый способ (например, «лучшая практика») для реализации Linux-сервисов всех видов - это создать сценарий оболочки, который может запускать, останавливать и перезапускать службу и помещать ее в /etc/init.d. Затем добавьте соответствующие символические ссылки к ним из соответствующих «rc. *» Каталогов. См. Записи «man» для Linux для «init (8)», «chkconfig (8)» и т. Д.

Смежные вопросы