Point-to-point модель применяется, когда одному или нескольким компонентам (так называемые senders) необходимо послать сообщение одному компоненту-адресату (receiver).
Publish-subscribe (Pub-sub) модель применима, когда одному или нескольким компонентам (publishers) необходимо послать сообщение одному или нескольким компонентам-адресатам (subscribers). Данная модель основана на понятии message topic.
Часто говорят, что в point-to-point модели есть один и только один receiver.
Однако, это не совсем верно. Может существовать несколько receivers, присоединенных к одной и той же queue (очереди). Но MOM доставит каждое сообщение только одному из них. Какому именно – зависит от реализации. Некоторые MOM доставляют сообщение первому зарегистрированному receiver.
Алгоритм реализации:
1. Сначала найдем сервис JNDI, инициализируем контекст
2. Теперь найдем ConnectionFactory с помощью JNDI
3. А теперь создадим Connection (абстакция реального соединения) 4. Создадим Session со следующими свойствами
5. Найдем Destination с помощью JNDI queue.
5.1. проверяем есть ли Queue в JNDI
5.2. Если еще не существует (не зарегистрирована в JNDI) – создадим и зарегистрируемекта Destination
6. Создадим простейшее текстовое сообщение textMessag
7. Создадим MessageProducer (объект посылающий сообщение в рoint-to-рoint имеет тип QueueSender) 8 Пошлем сообщение Существует два пути получения сообщений:
Первый – синхронное затребование сообщений из queue, используя метод receive() интерфейса javax.jms.QueueReceiver.
Второй – асинхронное получение сообщений как только они становятся доступны – используя интерфейс javax.jms.MessageListener.