Главная » Spring » Обмен сообщениями в Spring

0

Пятница, 16:55. Вы в нескольких минутах от начала долгождан- ного отпуска. Времени до вылета самолета в обрез, только чтобы доехать до аэропорта. Но прежде необходимо убедиться, что ваши коллеги и начальник будут знать, в каком месте вы закончили ра- боту, чтобы продолжить ее в понедельник. К сожалению, некоторые коллеги ушли чуть раньше, а начальник занят на совещании. Что делать?

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

Самый простой выход отчитаться о состоянии дел и успеть на са- молет – послать электронное письмо начальнику и коллегам, заодно пообещав прислать открытку из отпуска. Хотя вы и не знаете, когда они прочитают свою электронную почту, зато знаете наверняка, что рано или поздно они вернутся к своим компьютерам и смогут прочи- тать сообщение. А вы тем временем уже будете мчаться к аэропорту.

Иногда прямой контакт с собеседником просто необходим. Если вы поранитесь и вам потребуется медицинская помощь, вы наверня- ка приметесь звонить по телефону – отправка электронного письма в больницу в этой ситуации не поможет. Но часто бывает достаточно просто отправить сообщение, например чтобы получить разрешение продолжить свой отпуск.

В двух предыдущих главах рассказывалось, как пользоваться ме- ханизмами RMI, Hessian, Burlap, HTTP Invoker и веб-службами для организации взаимодействий между приложениями. Все эти меха- низмы взаимодействий имеют синхронную природу, когда клиент- ское приложение напрямую взаимодействует с удаленной службой и ожидает, пока удаленная процедура не выполнится, прежде чем продолжить работу.

Синхронные взаимодействия имеют место быть, но это не един-

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

Java Message Service (JMS) – стандартный API для организации

асинхронного обмена сообщениями. В этой главе будет показано, на- сколько фреймворк Spring упрощает отправку и прием сообщений с помощью JMS. Помимо простых операций приема и передачи со- общений, здесь также будет рассказываться о простых Java-объектах (POJO), управляемых сообщениями, как способе приема сообще- ний, напоминающем прием сообщений компонентами EJB, управ- ляемыми сообщениями (Message-Driven Beans, MDB).

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии