Я изучал Apache commons-daemon
, и это выглядит довольно круто: в основном его API, а также библиотека, которая помогает зарегистрировать JAR с базовой ОС, чтобы его можно было запустить и остановить, как сервис-демон. Кроме того, он перехватывает сигналы ОС, которые обычно убивают ваше приложение, и вместо этого дает вам возможность вежливо остановиться.Автономный демон или контейнер для приложений?
Так что мне интересно, если у вас есть выбор между развертыванием вашей бизнес-логики внутри EJB и их упаковкой в контейнере наподобие OGS или JBoss, почему бы просто не создать JAR-демона, который слушает порт и отвечает на запросы клиентов?
Это просто преимущество всех функций/сервисов, которые контейнер приложения предоставляет из коробки (безопасность, ведение журнала и т. Д.), Или бывают случаи, когда было бы выгодно выбирать демона над контейнером приложения/EJB решение?
В принципе, что я спрашиваю, если: , когда более целесообразно использовать контейнер приложения/EJB-решение, и когда более целесообразно использовать commons-daemon
, чтобы помочь создать сервис на уровне системы (на Java)?
Отказ от ответственности: меня интересуют только эти два варианта, я знаю, что существуют другие решения (веб-контейнеры, ESB, OSGi и т. Д.). Но для целей этого вопроса мне только интересно услышать рассуждения между контейнерами приложений или решениями-демонами. Заранее спасибо!