Когда я выберу развертывание в качестве JBoss SAR вместо EAR?
Это скорее общий вопрос, и я ищу рекомендации, в которых объясняются плюсы и минусы каждой модели развертывания и какая из них применима, когда.
Когда я выберу развертывание в качестве JBoss SAR вместо EAR?
Это скорее общий вопрос, и я ищу рекомендации, в которых объясняются плюсы и минусы каждой модели развертывания и какая из них применима, когда.
Вы создадите SAR (служебный архив), когда захотите расширить возможности сервера. Например, JBoss использует SAR для развертывания EJB или обмена сообщениями. Вы можете создать его для мониторинга собственной службы (например, для просмотра некоторых показателей для одной из ваших пользовательских служб). Насколько я знаю, SAR уникальны только для JBoss.
По своему личному опыту я однажды создал SAR для отслеживания веб-сервиса. В основном я использовал сервисный компонент для отслеживания длины списка вещей, созданных компонентом веб-сервиса. Это был один из способов, которым я мог зайти в jmx-консоль и узнать какие-то метрики о входящих запросах к веб-сервису.
SAR основаны на спецификациях JMX, поэтому их несложно создать. Вы в основном создаете стандартный интерфейс MBean и реализуете этот интерфейс. Вы также захотите убедиться, что у вас есть файл jboss-service.xml
в каталоге META-INF
.
С другой стороны, WAR и EAR предназначены для стандартной упаковки приложений, когда вы ожидаете, что контейнер будет управлять и обрабатывать запросы для приложения. Вы не ожидаете, что приложение будет работать как анонимный компонент службы, как в случае упакованного приложения SAR.
Надеюсь это поможет!