0
votes

I successfully completed a POC using Spring Reactor Netty Stomp client (Spring messaging framework) to connect to RabbitMQ on port 61613 (port dedicated for STOMP). That was just a POC. Now I have to build something concrete to be able to deploy in prod environments. I was Googling Spring Messaging vs Spring Integration and stumbled upon Apache Camel.

RabbitMQ component page in the Camel documentation talks about port 5672 and that is AMQP. The STOMP component page talks about ActiveMQ.

I did not see any examples or documentation regarding Camel in conjunction with RabbitMQ and STOMP.

Can Apache Camel be used to connect to RabbitMQ on port 61613?

1

1 Answers

0
votes

The Camel documentation for the STOMP component states:

The Stomp component is used for communicating with Stomp compliant message brokers, like Apache ActiveMQ or ActiveMQ Apollo.

Notice that it says like Apache ActiveMQ. It doesn't say it has to be Apache ActiveMQ. It just uses ActiveMQ as an example of a "Stomp compliant" message broker. If RabbitMQ supports STOMP then Camel's STOMP component should work without issue.

Looking at Camel's StompEndpoint it clearly uses the brokerURL from the configuration to make the connection to the Stomp broker. It uses the Fusesource Stomp client implementation which should work with any Stomp compliant broker.

It's also worth noting that Camel is an integration framework and Stomp is a simple, open messaging protocol so it doesn't make much sense for the Stomp component within Camel to only work with a couple of ActiveMQ brokers. It can (and will) work with any Stomp compliant broker (just as the documentation states).