пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Модели использования JMS. Основные объекты и термины, их назначение (алгоритм реализации).

Java Message Service (JMS) – это Java API (то есть набор интерфейсов и классов) для работы с Message-Oriented Middleware (МОМ). Данный набор определен в пакете javax.jms в дереве пакетов J2EE.

В Messaging System приложения общаются не напрямую, а посредством MOM (промежуточного программного обеспечения). Если один компонент системы хочет послать сообщение другому компоненту, он посылает данное сообщение MOM, а уж MOM затем пересылает его адресату.

MOM реализует асинхронность обмена сообщениями.

Существует две "основных" модели обмена сообщениями: point-to-point и publish-subscribe (pub-sub)

Point-to-point модель применяется, когда одному или нескольким компонентам (так называемые senders) необходимо послать сообщение одному компоненту-адресату (receiver).

Publish-subscribe (Pub-sub) модель применима, когда одному или нескольким компонентам (publishers) необходимо послать сообщение одному или нескольким компонентам-адресатам (subscribers). Данная модель основана на понятии message topic.

ConnectionFactory – это обьект, ответственный за создание JMS Connection. Администратор МОМ создает данный обьект и связывает его с деревом JNDI, так что клиент JMS может получить доступ к ConnectionFactory используя стандартный JNDI lookup-механизм.

Connection – абстрактное представление реального соединения между клиентом JMS и MOM.

Session – обьект, создаваемый JMS Connection и используемый клиентами для посылки и принятия сообщений.

Destination – это либо queue, либо topic – в зависимости от используемой модели. Как и ConnectionFactory, destination связывается с деревом JNDI.

MessageProducer – обьект, который, собственно, и посылает сообщения.

MessageConsumer – обьект, принимающий сообщения. Message– сообщение. О типах сообщений будет сказано ниже.

Алгоритм реализации:

* Используем JMS и JNDI пакеты, инициализируем контекст сервиса JNDI;

* достаем ссылку на ConnectionFactory, опираясь на заданное нами имя; при создании (развертывании ресурса);

* создадим Connection (абстакция реального соединения);

* Создадим Session;

* Находим Destination, либо создаем ее;

* Создадим простейшее текстовое сообщение ;

* Создадим MessageProducer

* Активизация связи Connection

* Посылаем сообщение

Существует два пути получения сообщений:

Первый – синхронное затребование сообщений из queue, используя метод receive() интерфейса javax.jms.QueueReceiver.

Второй – асинхронное получение сообщений как только они становятся доступны – используя интерфейс javax.jms.MessageListener.


28.05.2018; 16:55
хиты: 176
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь