java - example - jms school
¿Qué protocolo utiliza JMS para enviar y recibir mensajes? (3)
La API JMS estándar es simplemente un conjunto de interfaces; Los proveedores de JMS (como WebSphere MQ) proporcionan sus propias implementaciones para estas interfaces.
Lo único que puede decir con seguridad sobre todas las implementaciones de JMS es que todas se adhieren a la API de JMS; aparte de eso, una implementación de JMS puede usar cualquier protocolo para cumplir los contratos de la API de JMS.
Ahora, cuando está preguntando específicamente sobre "protocolos", también debe definir a qué "capa" se refiere en la comunicación a la que se refiere (vea el Modelo OSI , por ejemplo). Cuando su cliente JMS tiene que hablar con un servidor JMS que se encuentra en otra máquina en la red (un caso típico), el protocolo utilizado entre el cliente y el servidor se basará, de una forma u otra, en TCP / IP. A través del cable, podrá ver los paquetes TCP / IP intercambiados de un lado a otro.
En el nivel superior, no hay garantías; es probable que encuentre protocolos propietarios que varían entre los diferentes implementadores. Recuerde que, con JMS, el rendimiento es a menudo crucial; Los proveedores de JMS hacen muchos esfuerzos para garantizar que sus protocolos ("por encima de" TCP / IP) funcionen bien. HTTP, por ejemplo, no sirve.
Quiero saber si la API de JMS utiliza algún protocolo para transferir mensajes o si utiliza el suyo. Si el primero, ¿qué protocolo?
He leído muchos artículos en la red, pero no pude encontrar una respuesta para esto.
No existe un protocolo como tal que se mencione en las especificaciones JMS. Depende exclusivamente del proveedor de JMS y de su enfoque para ofrecer eficiencia y seguridad. De lo que sí se puede estar seguro es que cualquier proveedor de protocolo que se use para comunicarse entre el servidor y el cliente se basará en el protocolo TCP / IP (capa de transporte) . Puede tener HTTP, que es un protocolo de capa de aplicación o si el proveedor lo proporciona, puede tener SSL, que es un protocolo de capa de presentación.
Por ejemplo, ActiveMQ soporta los siguientes protocolos
- AMQP
- Elemento de lista
- MQTT
- OpenWire
- DESCANSO
- RSS y Atom
- Pisar muy fuerte
- WSIF
- Notificación WS
- XMPP
Más detalles here .
Utiliza el protocolo AMQP. Puede usar JMS para realizar una comunicación 1 a 1 utilizando Message Queue proporcionado por Middleware. Si desea enviar 1 a muchos utilizando JMS, el software intermedio proporciona el Tema. Ambos utilizan el formato binario en un flujo de bits al menos en IBM MQ.