Вопрос

Я пишу входящий адаптер ресурсов (модуль разъема) на Glassfish 3.1, и я заметил в образцах Java EE SDK, что MDB используется для доставки сообщений из приложений EIS в Glassfish. Необходимо ли использовать MDB, если целевой объект является EJB? Было бы разумно сделать поиск JNDI для целевого EJB и доставить его напрямую, что вообще избегает MDB?

Спасибо!

Это было полезно?

Решение

В последнем случае вы выполняете синхронную операцию, тогда как первый подход является асинхронным. В сценариях интеграции приложения к приложению (A2A) почти всегда является хорошим решением реализовать асинхронный интерфейс. Много было написано об этом, позвольте мне обратиться к Ява сама документация, например, раздел 6.3.3:

При разработке вашего приложения вам необходимо решить, использовать ли синхронная или асинхронная интеграция с его целевыми EISES и существующими приложениями. Как синхронная, так и асинхронная интеграционная подходы действительны для интеграции приложений, и выбор должен основываться на требованиях к интеграции и вариантам использования. Основыте свое решение на следующих рекомендациях.

  • Требуется качество услуг. Использование очереди или системы Publish-Subscribe обеспечивает более высокое качество услуг, таких как маршрутизация сообщений и надежная доставка сообщений, чем синхронные сообщения.
  • Пропускная способность приложения-Асинхронный обмен сообщениями может привести к лучшей пропускной способности, поскольку очередь буферирует сообщения, поддерживает маршрутизацию сообщений и гарантирует доставку сообщений.
  • Транзакционная интеграция-синхронная модель связи является более подходящей, когда приложению необходимо выполнить безопасный и транзакционный доступ к одному или нескольким синхронно EISES для обработки запросов клиента. В таких случаях приложение может позволить себе накладные расходы более жесткой связи с EIS, чтобы обеспечить более высокую обработку запросов и обработку ошибок.
  • Сложность модели программирования-асинхронная модель программирования связи более сложна, чем более распространенная модель синхронного запроса-ответа. В то время как асинхронная модель предоставляет больше услуг, стоимость является большей сложностью применения и большей работой со стороны разработчиков.

В заключение, возможно, это не обязательно, но может быть разумно реализовать MDB.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top