Давайте сначала проясним некоторые термины:
- Исходящие сообщения — это место, где сообщение начинается с сервера (точнее, оно инициируется вашим приложением, которое у вас есть на сервере, в данном случае
WebSphere Liberty
) и заканчивается в EIS.
- Входящие сообщения — это место, где сообщение начинается с EIS и заканчивается на сервере.
- Конечная точка сообщения, как правило, место, где сообщение в конечном итоге находится/получается на определенном этапе его жизненного цикла.
![введите здесь описание изображения](https://i.stack.imgur.com/DHV1M.gif)
Таким образом, под исходящим подключением мы имеем в виду ситуацию, когда приложение получает подключение к внешней EIS и считывает или записывает в нее данные. Под входящим подключением мы подразумеваем ситуацию, когда адаптер ресурсов (RA) прослушивает события от внешней EIS и вызывает ваше приложение, когда такое событие происходит.
Иллюстрация исходящего RA ![введите здесь описание изображения](https://i. stack.imgur.com/306VT.png)
Иллюстрация входящего RA ![введите здесь описание изображения](https://i. stack.imgur.com/J1PXA.png)
Что означает MessageEndPoint в JCA?
Сервер приложений (например, WebSphere Liberty
) предоставляет конечные точки сообщений MBeans, чтобы помочь вам в управлении доставкой сообщения вашим компонентам, управляемым сообщениями, которые действуют как слушатели в определенных конечных точках, которые являются пунктами назначения, а также в управлении используемыми ресурсами EIS. этими управляемыми сообщениями bean-компонентами. Компоненты, управляемые сообщениями, развернутые как конечные точки сообщений, отличаются от управляемых сообщениями компонентов, настроенных для порта прослушивателя. Компоненты, управляемые сообщениями, которые используются в качестве конечных точек сообщений, должны быть развернуты с использованием ActivationSpecification
, который определен в конфигурации RA для JCA (находится в файле ra.xml
).
Что означает активация MessageEndPoint?
С конечными точками сообщений MBeans вы можете активировать и деактивировать определенные конечные точки в своих приложениях, чтобы гарантировать, что сообщения доставляются только слушающим управляемым сообщениями bean-компонентам, которые взаимодействуют с работоспособными ресурсами EIS. Эта возможность позволяет оптимизировать производительность ваших JMS-приложений в ситуациях, когда ресурс EIS ведет себя не так, как ожидалось. Доставка сообщения в конечную точку обычно завершается сбоем, когда прослушивающий компонент, управляемый сообщениями, вызывает операцию над неработоспособным ресурсом. Например, провайдер обмена сообщениями, который является адаптером входящих ресурсов, совместимым с JCA, может не доставить сообщения в конечную точку, когда его базовый компонент, управляемый сообщениями, пытается зафиксировать транзакции с сервером базы данных, который не отвечает.
Должен ли MessageEndPoint быть компонентом?
Должно. В противном случае вы окажетесь в большом беспорядке, создав свой собственный нетрадиционный способ делать вещи, которые в первую очередь превосходят цель следования спецификации Java EE. Спроектируйте компоненты, управляемые сообщениями, чтобы делегировать бизнес-процессы другим корпоративным компонентам. Не обращайтесь к ресурсам EIS напрямую в компоненте, управляемом сообщениями, а делайте это косвенно через компонент-делегат.
Можете ли вы показать простой пример работы/развертывания MessageEndPoint?
Проверьте второй ресурс, который я упоминаю ниже, для полезного примера.
Полезные учебные ресурсы:
person
M. A. Kishawy
schedule
20.08.2015