JMS - общее использование - PullRequest
2 голосов
/ 13 марта 2010

Что такое обычное и полезное использование JMS и Message Driven Beans?

Ответы [ 2 ]

10 голосов
/ 13 марта 2010

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

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

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

5 голосов
/ 13 марта 2010

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

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

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

...