JMS - общее использование
Каковы общие и полезные применения JMS и Message Driven Beans?
2 ответа
Асинхронная связь. Вызывающий абонент быстро возвращается и может продолжить свою работу (без создания нового потока), а сообщение может быть обработано позже. Сообщения могут быть сохранены, и даже в случае сбоя сервера они могут продолжить обрабатываться после повторного запуска сервера. Сообщения могут быть распределены по нескольким машинам (опционально на основании правил).
Вызывающие абоненты и вызываемые абоненты могут быть отделены (вызывающий абонент не должен знать, кто будет использовать сообщение и сколько существует потребителей сообщений).
Он может иметь огромные преимущества в производительности по сравнению с синхронной связью. Такое промежуточное программное обеспечение для обмена сообщениями может иметь решающее значение для служб, которые должны обрабатывать много сообщений в секунду (например, Twitter). Но это не ограничивается читабельными сообщениями.
Еще одна причина выбрать JMS и MDB - это гарантированная доставка. Синхронный вызов "точка-точка" завершается неудачно, если получатель недоступен, но можно настроить очередь для гарантии доставки, обработки повторных попыток или сбоев транзакций, использования очередей ошибок для "ядовитых" сообщений и т. Д.
В JMS встроены две модели передачи: точка-точка с использованием очередей и публикация / подписка с использованием тем. У каждого свои преимущества.
Недостатком JMS и MDB является скорость реакции. Вам может понравиться разъединение, но если вы заблокируете и дождетесь ответа, он, безусловно, будет медленнее, чем прямой удаленный вызов метода, потому что вместо одного происходит два сетевых отключения, а не одно.