Рекомендация: Служба сообщений Java (JMS)
В этом руководстве обсуждаются способы использования Службы сообщений Java (JMS), а также способы ее проектирования и моделирования для приложения J2EE.
Взаимосвязи
Основное описание

Введение

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

В этом руководстве описано, когда следует использовать JMS, как ее моделировать, а также даны некоторые замечания о проекте.

Более подробная информация о JMS находится в разделе Концепция: Служба сообщений Java (JMS).

Моделирование JMS

Клиенты JMS моделируются как классы. На следующей диаграмме показано типичное взаимодействие поставщика сообщения для отправки сообщений с помощью JMS. В примере очередь используется как назначение.

Диаграмма, описанная в сопроводительном тексте.

Клиент JMS должен реализовать интерфейс получателя сообщений. Поставщик JMS обеспечивает вызов специального метода onMessage при поступлении любого сообщения.

Диаграмма, описанная в сопроводительном тексте.

На следующей диаграмме показана типичная установка клиента JMS.

Диаграмма, описанная в сопроводительном тексте.

Проектирование JMS

Существует два основных способа проектирования приложений JMS: двухточечный и опубликовать-подписаться.

В двухточечной модели JMS применяется для доставки сообщения ОДНОМУ клиенту.

Диаграмма, описанная в сопроводительном тексте.

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

В модели опубликовать-подписаться шаблон связи разрешает многим производителям отправлять сообщения многим потребителям. Потребители подписываются на разделы, а промежуточное программное обеспечение доставляет сообщения им.

Диаграмма, описанная в сопроводительном тексте.

В отличие от двухточечной модели, модель опубликовать-подписаться сохраняет сообщения в разделе до тех пор, пока все клиенты его не получат.

Примечание: Начиная с версии JMS 1.1, вы можете комбинировать эти две модели в одном приложении JMS.