web-dev-qa-db-fra.com

Quel protocole JMS utilise-t-il pour envoyer et recevoir des messages?

Je souhaite savoir si l'API JMS utilise un protocole pour transférer des messages ou utilise le sien. Si l'ancien, quel protocole?

J'ai lu de nombreux articles sur le net mais je ne trouvais pas de réponse à cela.

22
Msn

L'API JMS standard est simplement un ensemble d'interfaces; Les fournisseurs JMS (tels que WebSphere MQ) fournissent leurs propres implémentations pour ces interfaces.

La seule chose que vous puissiez affirmer à propos de toutes les implémentations JMS est qu'elles adhèrent toutes à l'API JMS. À part cela, une implémentation JMS peut utiliser n'importe quel protocole pour remplir les contrats d'API JMS.

Maintenant, lorsque vous vous posez des questions sur les "protocoles", vous devez également définir la "couche" de la communication à laquelle vous faites référence (consultez le Modèle OSI , par exemple). Lorsque votre client JMS doit communiquer avec un serveur JMS situé sur une autre machine du réseau (cas typique), le protocole utilisé entre le client et le serveur sera basé, d'une manière ou d'une autre, sur TCP/IP. Sur le réseau, vous pourrez voir les paquets TCP/IP échangés dans les deux sens.

Au niveau supérieur, il n'y a aucune garantie; vous êtes susceptible de trouver des protocoles propriétaires variant entre différents implémenteurs. N'oubliez pas qu'avec JMS, les performances sont souvent cruciales. Les fournisseurs JMS ont déployé de nombreux efforts pour garantir le bon fonctionnement de leurs protocoles ("supérieur à" TCP/IP). HTTP, par exemple, ne fera pas l'affaire.

32
Isaac

Il n'y a pas de protocole en tant que tel mentionné dans les spécifications JMS. Il est purement dépendant du fournisseur JMS et de son approche pour offrir efficacité et sécurité. Une chose dont on peut être sûr, c’est que tout fournisseur de protocole utilisé pour communiquer entre serveur et client sera construit sur le protocole TCP/IP (couche de transport) . Vous pouvez avoir HTTP qui est un protocole de couche application ou si le fournisseur le fournit, vous pouvez avoir SSL qui est un protocole de couche Présentation.

Par exemple, ActiveMQ prend en charge les protocoles suivants

  • AMQP
  • Élément de liste
  • MQTT
  • OpenWire
  • REST
  • RSS et Atom
  • Piétinement
  • WSIF
  • Notification WS
  • XMPP

Plus de détails ici .

10
Aniket Thakur

Il utilise le protocole AMQP. Vous pouvez utiliser JMS pour établir une communication un à un à l'aide de Message Queue fourni par Middleware. Si vous souhaitez envoyer un numéro à plusieurs à l'aide de JMS, le middleware fournit Topic. Les deux utilisent le format binaire dans un flux binaire au moins dans IBM MQ.

0
Siva