JMS - общее использование

Каковы общие и полезные применения JMS и Message Driven Beans?

2 ответа

Решение

Асинхронная связь. Вызывающий абонент быстро возвращается и может продолжить свою работу (без создания нового потока), а сообщение может быть обработано позже. Сообщения могут быть сохранены, и даже в случае сбоя сервера они могут продолжить обрабатываться после повторного запуска сервера. Сообщения могут быть распределены по нескольким машинам (опционально на основании правил).

Вызывающие абоненты и вызываемые абоненты могут быть отделены (вызывающий абонент не должен знать, кто будет использовать сообщение и сколько существует потребителей сообщений).

Он может иметь огромные преимущества в производительности по сравнению с синхронной связью. Такое промежуточное программное обеспечение для обмена сообщениями может иметь решающее значение для служб, которые должны обрабатывать много сообщений в секунду (например, Twitter). Но это не ограничивается читабельными сообщениями.

Еще одна причина выбрать JMS и MDB - это гарантированная доставка. Синхронный вызов "точка-точка" завершается неудачно, если получатель недоступен, но можно настроить очередь для гарантии доставки, обработки повторных попыток или сбоев транзакций, использования очередей ошибок для "ядовитых" сообщений и т. Д.

В JMS встроены две модели передачи: точка-точка с использованием очередей и публикация / подписка с использованием тем. У каждого свои преимущества.

Недостатком JMS и MDB является скорость реакции. Вам может понравиться разъединение, но если вы заблокируете и дождетесь ответа, он, безусловно, будет медленнее, чем прямой удаленный вызов метода, потому что вместо одного происходит два сетевых отключения, а не одно.

Другие вопросы по тегам