Как настроить основанные на Java сервисы для запуска?

Что лучший способ состоит в том, чтобы настроить основанную на Java программу, чтобы выполнить сервис и запустить на начальной загрузке?

  • выскочка (pre-start script и post-stop script ?)
  • простой SysV init? (start-stop-daemon ?)

В моем случае я интересуюсь установкой Jira, который имеет его собственный стиль Tomcat, запускают и останавливают сценарии - $JIRA_HOME/bin/startup.sh и $JIRA_HOME/bin/shutdown.sh.

3
задан 21 December 2010 в 20:58

1 ответ

Большую часть времени вы можете вырезать много кода из этих скриптов и просто сосредоточиться на запуске основной программы. Если вы можете сказать, чтобы он работал на переднем плане, а не на заднем плане, это упростит задачу. В противном случае вам придется использовать «ожидаемую вилку» или «ожидать демона», чтобы следовать за вилками, которые должна сделать программа, чтобы отсоединиться от управляющих терминалов.

Предварительный запуск в основном предназначен для настройки, например, для создания каталогов в / var / run. Вы также можете получить файл конфигурации, так как среда будет передана главному исполнительному директору.

post-start может быть полезным, если вы хотите убедиться, что upstart не считает службу запущенной, пока не будет выполнено определенное условие (например, порт отвечает на запросы).

В конечном счете, цель состоит в том, чтобы сделать это как можно более простым. Если startup.sh запускает 'jira --daemon' и вы можете вместо этого запустить 'jira', но он не отсоединяется, тогда с помощью upstart вы просто сделаете

start on runlevel [2345]
stop on runlevel [!2345]

exec jira

Пока процесс не выполняется не демонизировать, выскочку очень легко отследить, что он делает, что в конечном итоге приводит к более простому файлу задания и более надежной системе.

0
ответ дан 21 December 2010 в 20:58

Другие вопросы по тегам:

Похожие вопросы: