Reputation: 2190
Apaches's ActiveMQ supports a wide range of different protocols and makes it quite easy to find a cross-language-client.
From reading the documentation I get the impression that ActiveMQ is capable of translating protocols, although it is not stated explicitly. So for example a Java Client using AMQP protocol might queue a message which is fetched by a PHP client using STOMP.
My question is: Am I correct? If yes I wonder how ActiveMQ deals with different functionality supported by the protocols. For example AMQP states very clearly how messages might be queued while STOMP doesn't.
Upvotes: 0
Views: 227
Reputation: 22279
Yes, ActiveMQ tries it's best to support interopability and transparency between clients.
It's important to note that internally all messages are mapped to a common format based on the JMS API specs.
So you can check out each protocol documentation page to see how various protocols are mapped to JMS. Specifically metadata and payload format.
For AMQP you can decide if you want to enable mapping over JMS-like format or simply pass the message "as-is". But no conversion is perfect, so the best you can do is to try out your case and see if it's good enough.
http://activemq.apache.org/stomp.html
http://activemq.apache.org/amqp.html
http://activemq.apache.org/mqtt.html
Upvotes: 1