Сведения о вопросе

Faridun

20:16, 18th August, 2020

Теги

java   unix   windows-services   daemon    

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

Просмотров: 539   Ответов: 3

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



  Сведения об ответе

#hash

14:52, 28th August, 2020

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

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

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


  Сведения об ответе

ASER

06:22, 2nd August, 2020

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

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

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

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


  Сведения об ответе

LIZA

00:09, 25th August, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться