Лучший способ запустить приложение Java как * nix Daemon или Windows Service?

Я ищу лучший способ для запуска приложения Java в качестве демона * NIX или службы Windows. Я посмотрел на Java Service Wrapper , проект Apache Commons 'jsvc' и проект Apache Commons 'procrun' . Пока что Java Service Wrapper выглядит так, как будто это лучший вариант ... но мне интересно, есть ли другие лицензированные продукты с открытым исходным кодом?

25.08.2008 01:11:59
Для служб Windows см. Этот вопрос: stackoverflow.com/questions/68113/… (добавив этот комментарий, как Google привел меня сюда, но на другой вопрос есть больше ответов).
atomicules 2.09.2010 11:05:27
3 ОТВЕТА
РЕШЕНИЕ

Я имел большой успех с Java Service Wrapper самостоятельно. Я не смотрел на другие, но основные сильные стороны ServiceWrapper:

  • Отличная поддержка x-платформы - я использовал ее в Windows и Linux, и мне было легко на обоих
  • Надежная документация - документы ясны и по сути, с отличными примерами
  • Глубокая поддержка для каждой платформы. В системе управления службами окон есть несколько уникальных функций, которые прекрасно поддерживаются оболочкой служб (без перезапуска). А в Windows вы даже увидите имя вашего приложения в списке процессов, а не просто «java.exe».
  • Соответствие стандартам - В отличие от многих специальных сценариев инициализации Java, сценарии для оболочки служб обычно соответствуют стандартам LSB. Это может оказаться очень важным, если вам когда-нибудь понадобится управление высокой доступностью из чего-то вроде Linux Heartbeat / HA.

Во всяком случае, только мои 2 цента ... :)

18
25.08.2008 01:38:11
Не могу рекомендовать это достаточно высоко
Paul Whelan 11.05.2009 08:10:57

Существуют ли какие-либо специальные атрибуты, которые вам нужно применить (например, управление ресурсами под управлением ОС), которые вам необходимо поддерживать? В противном случае для Unix вы сможете демонизировать свое приложение, написав соответствующий скрипт init.d и настроив его приложение на автоматический запуск.

1
25.08.2008 01:27:22

Другой вариант - WinRun4J . Это только окна, но имеет некоторые полезные функции:

  • 32-битная и 64-битная поддержка
  • API для доступа к журналу событий и реестру
  • Может зарегистрировать сервис, чтобы зависеть от других сервисов (т.е. serviceA и serviceB должны запускаться до serviceC)

Его также с открытым исходным кодом (CPL), поэтому нет ограничений на использование.

(полное раскрытие: я работаю над этим проектом).

3
11.05.2009 08:02:31