Концепция Java Messaging Service (JMS)

Услугата за съобщения на Java, JMS, предоставя междуплатформен стандарт за асинхронен обмен на бизнес данни и събития в предприятието. Обменът на информация обикновено се извършва между процеси и компютри. Обектите в приложенията, обикновено работещи на различни машини, комуникират чрез достъп до ориентирани към съобщения междинни услуги (MOM) чрез стандартен набор от интерфейси, дефинирани в JMS.

съобщения

JMS предоставя набор от интерфейси, които изолират Java програмиста (имплементиращ доставчици и приемници на съобщения) от MOM доставчици.

Тази страница със съдържание описва основните концепции и типичната употреба на JMS.

Съобщението е отделен пакет от бизнес данни. Състои се от три блока:

  • Заглавка: Съдържа информация за мрежово маршрутизиране и идентификатори на съобщения.
  • Свойства: Съдържа метаданните на съобщението. Някои от свойствата се задават от услугата JMS, но приложните програмисти могат да добавят свои собствени свойства.
  • Полезен товар: съдържа действителните бизнес данни. Полезният товар се контролира изцяло от приложния програмист.

Java

В JMS едно съобщение е капсулирано в обект, който имплементира интерфейсаjavax.jms.Message. Java програма може да осъществява достъп до блокове съобщения чрез този интерфейс, както е показано на следващата диаграма. Един полезен товар може да има няколко разновидности, обсъдени по-долу.

Java

Headerсъдържа необходимите свойства на съобщението. Това са следните имоти:

  • ИД на съобщение
  • Времево клеймо
  • CorrelationID
  • Отговаряте на
  • Дестинация
  • Режим на доставка
  • предадено отново
  • Тип
  • Изтичане
  • приоритет

Свойстватапозволяват на приложния програмист да предостави метаданни за съобщението. Свойствата се състоят от произволен набор от двойки име-стойност.

JMS поддържа шест видаполезни товари:

  • Текстови съобщения
  • Обектни съобщения
  • Байтови съобщения
  • Показване на съобщения
  • поточно предаване на съобщения
  • Празни съобщения (без текст)

Типовете полезен товар се отразяват в йерархия на класове, където интерфейсите разширяватjavax.jms.Message. Следната класова диаграма показва често използвани текстови, обектни и байтови съобщения. Текстовите съобщения обикновено съдържат XML данни.

service

Дестинации

JMS дефинира концепцията за дестинация. Съобщенията се изпращат и получават от дестинации. Има два вида дестинации:

Темитеса дестинации за съобщения, използвани, когато съобщенията трябва да бъдат доставени до множество получатели, всеки от които се интересува от конкретен тип съобщение. Отново използвайки аналогията с охлювната поща, такива съобщения могат да бъдат сравнени със статия във вестник; съобщението може да бъде прочетено от произволен брой получатели. Този тип комуникация често се наричапубликуване и абониране.

Доставка на съобщение

Доставката на съобщения може да бъде два вида:

Постоянната доставка включва съхраняване на съобщението във файл или база данни, което означава гарантирана доставка. Непостоянната доставка е по-бърза и изисква по-малко памет, но доставката на съобщения не е гарантирана. Повечето JMS приложения обикновено използват постоянна доставка.

JMS клиенти

JMS клиентите са Java обекти, които използват JMS. Дефинирани са две роли:

  • Доставчици на съобщения: Java програми, които създават и изпращат съобщения.
  • Получатели на съобщения: Java програми, които получават съобщения.

Следващата диаграма предоставя диаграма за това как взаимодействат JMS доставчик, приемници и доставчици.

концепция

Доставчик на съобщения може да бъде всеки Java клас, който има достъп до JMS реализация. Доставчиците на съобщения създават и изпращат съобщения.

Поглъщателят на съобщенията може да бъде всеки Java клас, който има достъп до изпълнението на JMS. Получателите на съобщения получават и обработват съобщения.

JMS клиентът използва набор от интерфейси за достъп до JMS. Обектите, които реализират JMS интерфейси, се създават чрез набор от фабрики. Първоначалната фабрика е фабриката за свързване,ConnectionFactory. Търсенето на фабриката за връзка се извършва с помощта на JNDI. Използвайки фабриката за свързване, JMS клиентът създава обект за връзка. Обектът за връзка създава обект на сесия, който служи като фабрика за останалите JMS обекти. Следващата фигура показва основните концептуални връзки между фабриките; подробности за опашки и теми са пропуснати.

Java

Фабриките за свързване, връзките и сесиите могат да бъдат два вида: едните са за опашки, другите са за теми. Следващата класова диаграма показва йерархията на интерфейса за основните JMS концепции.

концепция

JMS доставчици

Доставчикът на JMS е реализация, която отговаря на спецификацията на JMS. Доставчикът на JMS отговаря за получаването, съхраняването и доставянето на съобщения.

Допълнителна информация

За повече информация относно JMS вижте http://java.sun.com/products/jms/.

Тази информация е пълна илиразработено отчасти от Inferdata Corporation.