Spring IoC контейнер: дополнительные возможности ApplicationContext, развертывание Spring ApplicationContext как файла RAR Java EE

Можно развернуть Spring ApplicationContext как файл RAR, инкапсулируя контекст и все необходимые ему классы компонентов и файлы JAR библиотеки в модуле развертывания Java EE RAR. Это эквивалент начальной загрузки автономного ApplicationContext (размещенного только в среде Java EE) с возможностью доступа к серверам Java EE. Развертывание RAR является более естественной альтернативой сценарию развертывания файла WAR без заголовка - по сути, файла WAR без каких-либо точек входа HTTP, который используется только для начальной загрузки Spring ApplicationContext в среде Java EE.

Развертывание RAR идеально подходит для контекстов приложений, которым не нужны точки входа HTTP, а скорее состоят только из конечных точек сообщений и запланированных заданий. Компоненты в таком контексте могут использовать ресурсы сервера приложений, такие как диспетчер транзакций JTA и связанные с JNDI экземпляры JDBC DataSource и экземпляры JMS ConnectionFactory, а также могут регистрироваться на сервере JMX платформы - все с помощью стандартного управления транзакциями Spring и средств поддержки JNDI и JMX. Компоненты приложения также могут взаимодействовать с JCA WorkManager сервера приложений через абстракцию Spring TaskExecutor.

Для простого развертывания Spring ApplicationContext как файла Java EE RAR:

  1. Упакуйте все классы приложения в файл RAR (который является стандартным файлом JAR с другим расширением файла). Добавьте все необходимые библиотеки JAR в корень архива RAR. Добавьте дескриптор развертывания META-INF/ra.xml и соответствующий файл(ы) определения Spring XML bean (обычно META-INF/applicationContext.xml).
  2. Перетащите полученный RAR-файл в каталог развертывания вашего сервера приложений.

Такие единицы развертывания RAR обычно автономны. Они не открывают компоненты внешнему миру, даже другим модулям того же приложения. Взаимодействие с ApplicationContext на основе RAR обычно происходит через места назначения JMS, которые он использует совместно с другими модулями. ApplicationContext на основе RAR может также, например, планировать некоторые задания или реагировать на новые файлы в файловой системе. Если ему необходимо разрешить синхронный доступ извне, он может (например) экспортировать конечные точки RMI, которые могут использоваться другими модулями приложений на том же компьютере.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки