Подтвердить что ты не робот

Какой протокол использует JMS для отправки и получения сообщений?

Я хочу знать, использует ли JMS API какой-либо протокол для передачи сообщений или использует его собственный. Если первый, какой протокол?

Я прочитал много статей по сети, но я не мог найти ответ для этого.

4b9b3361

Ответ 1

Стандартный JMS API - это всего лишь набор интерфейсов; Поставщики JMS (такие как WebSphere MQ) предоставляют свои собственные реализации для этих интерфейсов.

Единственное, что вы можете сказать наверняка обо всех реализациях JMS, это то, что они все придерживаются JMS API; кроме этого, реализация JMS может использовать любой протокол для выполнения контрактов JMS API.

Теперь, когда вы спрашиваете конкретно о "протоколах", вы также должны определить, какой "слой" в сообщении вы имеете в виду (посмотрите OSI Model, например). Когда ваш JMS-клиент должен разговаривать с сервером JMS, который находится на другой машине в сети (типичный случай), протокол, используемый между клиентом и сервером, будет так или иначе основан на TCP/IP. По проводам вы сможете видеть обмен TCP/IP взад и вперед.

На более высоком уровне гарантий нет; вы, вероятно, найдете проприетарные протоколы, различающиеся между разными разработчиками. Помните, что с JMS производительность часто имеет решающее значение; Поставщики JMS прилагают большие усилия для обеспечения того, чтобы их протоколы ( "выше" TCP/IP) выполнялись хорошо. HTTP, например, не будет делать.

Ответ 2

Протокол как таковой не упоминается в спецификациях JMS. Это зависит исключительно от поставщика JMS и его подхода к обеспечению эффективности и безопасности. Единственное, что может быть уверен в том, что любой поставщик протокола, используемый для связи между сервером и клиентом, будет построен на протоколе TCP/IP (транспортный уровень), У вас может быть HTTP, который является протоколом уровня приложения, или если поставщик предоставляет его, у вас может быть SSL, который является протоколом уровня представления.

Например, ActiveMQ поддерживает следующие протоколы

  • AMQP
  • Элемент списка
  • MQTT
  • OpenWire
  • REST
  • RSS и Atom
  • Stomp
  • WSIF
  • Уведомление WS
  • XMPP

Подробнее здесь.

Ответ 3

Использует протокол AMQP. Вы можете использовать JMS для связи 1:1, используя очередь сообщений, предоставляемую Middleware. Если вы хотите отправить 1-ко-многим с помощью JMS, промежуточное программное обеспечение предоставляет тему. Оба они используют двоичный формат в битовом потоке, по крайней мере, в IBM MQ.