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

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

Для служб Windows см. Этот вопрос: stackoverflow.com/questions/68113/… (Добавление этого комментария, поскольку Google привел меня сюда, но на другой вопрос есть больше ответов).

atomicules 02.09.2010 15:05
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
20
1
4 685
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

Ответ принят как подходящий

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

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

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

Не могу рекомендовать это достаточно высоко

Paul Whelan 11.05.2009 12:10

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

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

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

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

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