How to find the version of AMQP protocol used in ActiveMQ - activemq

Is there any way to check the version (1.0 or 0.9.1) of AMQP that is being used by ActiveMQ. I'm using ActiveMQ 5.16.3.
In the RabbitMQ console there is a way to view the version of AMQP protocol that is being connected. I want to check if there are any ways to verify the version of AMQP protocol that is being connected in the ActiveMQ web console.

ActiveMQ "Classic" (i.e. 5.x) only supports AMQP 1.0. See the documentation for more details.
There is no way to see the protocol version in the web console and really no need since only AMQP 1.0 is supported.

Related

Code example of Spring AMQP + ActiveMQ without reliance on JMS API

Is there any working source code example of Spring AMQP + ActiveMQ (sender + receiver) without any reliance on the JMS API?
Note: The reason for this question is because Spring already lists JMS as a deprecated transport protocol for remoting (only AMQP and web-service calls are still actively supported).
As noted on the Spring AMQP GitHub project page:
This project provides support for using Spring and Java with AMQP 0.9.1, and in particular RabbitMQ.
ActiveMQ (both classic and Artemis) supports AMQP 1.0 (standardized by ISO) and not 0.9.1 (not standardized). Therefore you can't use Spring AMQP with ActiveMQ. The Spring AMQP project is really only useful for integrating with RabbitMQ.

Is it possible to establish communication between multiple AMQP brokers

Is it possible to publish/consume messages to ActiveMQ using RabbitMQ libraries and vice versa? Both are AMQP brokers, So I want to check if this is possible or not.
I am asking this question as I have a usecase to migrate our current broker and I dont want my customer to do any changes while consuming messages. This can be any AMQP broker to any other AMQP broker communication
ActiveMQ (both the 5.x and Artemis brokers) support AMQP 1.0. Therefore, any client which communicates over the AMQP 1.0 protocol can interact with the broker regardless of what other brokers that client may be working with.

Does spring integration support AMQP with ActiveMq

I am new to the MOM.
I want to connect to ActiveMQ using AMQP from my application.
Also I want to use Spring Integration for connecting to the ActiveMq.
I see example of AMQP for rabbitMQ but I am not able to find any example for ActiveMq.
Is it not possible to do with Spring Integration ?
No, it isn't possible.
ActiveMQ supports the AMQP 1.0 protocol which is an OASIS standard.
Where RabbitMQ and hence Spring Integration AMQP adapters support 0.9.1.
Those Spec versions are very different.
You should try tu use ActiveMQ JMS API over its AMQP. And finally Spring Integration JMS adapters.

RabbitMQ, is it possible to publish via one protocol and consume via another?

RabbitMQ supports multiple protocols, AMQP, MQTT, STOMP, ....
When using PHP for example, it's easier to publish using the STOMP library since the PHP AMQP libraries requires compiled C code and is somewhat of a mission to setup if you don't have to.
On the JAVA side, apache camel with AMQP on spring is pretty straight forward.
Is it possible to setup a queue, publish to it via STOMP and then consume via AMQP and then again publish via AMQP and consume via STOMP if the message broker is RabbitMQ?
Yes, this should work, given that you have installed RabbitMQ's STOMP plugin on your RabbitMQ node(s).
The protocol only defines the communication between client and server and has no impact on a message itself.
You should note that using protocols other than AMQP will most likely come along with limitations and/or worse performance.
There also exist native PHP libraries for RabbitMQ that don't require compiling C code. Unfortunately, I cannot tell you which one is the best, because I am a Java guy ;-).

RabbitMQ in open source ESB

Does any open source ESB support RabbitMQ out of the box?
It seems that apache camel based ESB works with Apache Qpid non RabbitMQ.
As of version 2.12 Camel now has a rabbitmq component.
WSO2 ESB has support for RabbitMQ based AMQP Transport. This documentation explains on how to configure this RabbitMQ based AMQP transport. Some samples also included in that document itself to try out.