Введение
Служба сообщений Java (JMS) может использоваться для связи между компонентами. Возможности JMS, такие как асинхронная
связь и гарантированная доставка, делают ее популярным выбором для приложений. JMS можно использовать также для
синхронной связи, но преимущественно применяется асинхронная.
В этом руководстве описано, когда следует использовать JMS, как ее моделировать, а также даны некоторые замечания о
проекте.
Более подробная информация о JMS находится в разделе Концепция: Служба сообщений Java (JMS).
Моделирование JMS
Клиенты JMS моделируются как классы. На следующей диаграмме показано типичное взаимодействие поставщика сообщения для
отправки сообщений с помощью JMS. В примере очередь используется как назначение.
Клиент JMS должен реализовать интерфейс получателя сообщений. Поставщик JMS обеспечивает вызов специального метода
onMessage при поступлении любого сообщения.
На следующей диаграмме показана типичная установка клиента JMS.
Проектирование JMS
Существует два основных способа проектирования приложений JMS: двухточечный и опубликовать-подписаться.
В двухточечной модели JMS применяется для доставки сообщения ОДНОМУ клиенту.
Производители сообщений связывается с потребителями сообщений, отправляя сообщения в одну очередь. На понятийном
уровне, очередь имеет только одного потребителя, но многие поставщики JMS позволяют иметь многих потребителей для
выравнивания нагрузки. Когда разрешены многие потребители, каждое сообщение обрабатывается одним и только одним
потребителем. Сообщения сохраняются в очереди до тех пор, пока они не будут обработаны или просрочены.
В модели опубликовать-подписаться шаблон связи разрешает многим производителям отправлять сообщения многим
потребителям. Потребители подписываются на разделы, а промежуточное программное обеспечение доставляет сообщения им.
В отличие от двухточечной модели, модель опубликовать-подписаться сохраняет сообщения в разделе до тех пор, пока все
клиенты его не получат.
Примечание: Начиная с версии JMS 1.1, вы можете комбинировать эти две модели в одном приложении JMS.
|