Java Message Service

Java Message Service (JMS) — стандарт промежуточного ПО для рассылки сообщений, позволяющий приложениям, выполненным на платформе Java EE, создавать, посылать, получать и читать сообщения. Часть Jakarta EE.

Особенности взаимодействия в JMS

Коммуникация между компонентами, использующими JMS, асинхронна (процедура не дожидается ответа на своё сообщение) и независима от исполнения компонентов.

JMS поддерживает две модели обмена сообщениями: «точка - точка» и «издатель-подписчик».

Модель «точка - точка» характеризуется следующим:

  • Каждое сообщение имеет только одного адресата
  • Сообщение попадает в «почтовый ящик», или «очередь» адресата и может быть прочитано когда угодно. Если адресат не работал в момент отсылки сообщения, сообщение не пропадёт.
  • После получения сообщения адресат посылает извещение.

Модель «издатель-подписчик» характеризуется следующим:

  • Подписчик подписывается на определённую «тему»
  • Издатель публикует своё сообщение. Его получают все подписчики этой темы
  • Получатель должен работать и быть подписан в момент отправки сообщения

История версий

ПО, поддерживающее стандарт JMS

Открытое программное обеспечение:

Проприетарные решения:

  • TIBCO EMS
  • Sonic MQ
  • webMethods Broker Server
  • WebSphere Application Server (IBM)
  • IBM MQ (бывший IBM WebSphere MQ, изначально MQSeries)
  • SAP NetWeaver WebAS Java JMS от SAP AG
  • Oracle Weblogic
  • Oracle Streams Advanced Queuing
  • Sun Java System Message Queue, также доступный как Open Source
  • Informatica

Примечания

  1. JSR 343  (неопр.). Дата обращения: 19 июня 2013. Архивировано 17 июня 2013 года.

Ссылки

  • Официальная страница JMS  (англ.)
  • Взаимодействие с IBM WebSphere MQ через JMS API
  • Developing a Simple JMS Example