Alex Rivera | Logout

Switching from ActiveMQ to RabbitMQ

Asked 2011-08-12T17:45:01.060
53

I'm currently using ActiveMQ for my messaging needs; aside from a few db failures, it has worked well. However, I'm at the very least considering trying out RabbitMQ. But before I do, I'd like to understand the following:

  1. In what ways does RabbitMQ differ from ActiveMQ? What does RabbitMQ do better or worse than ActiveMQ?
  2. Comparatively, how easy/difficult is RabbitMQ to configure?
  3. How well integrated is RabbitMQ with Spring?
    • With ActiveMQ, I simply wire a connection factory bean into a JmsTemplate and I use DefaultMessageListener beans to connect queues to their respective handlers. Can I essentially do the same with RabbitMQ?
Edit
Report

1 Answer

8

AMQP is an application-level standard for Message Oriented Middleware (MOM). JMS is a standard API for Java for communicating with MOM.

Two different Java applications using JMS could be using different MOM and hence still be unable to communicate. ActiveMQ is a MOM system with a JMS library that allows Java programs to access it using JMS, but it can't necessarily communicate with another JMS Java program using, say, WebLogic MOM.

Different AMQP MOM systems can interoperate with each other (assuming that they are using the same version of AMQP) since AMQP is a standard along the same lines as, say SMTP. There is no reason that an AMQP MOM system could not also provide a JMS library for its Java clients. SwiftMQ, for example, provides a JMS API and uses AMQP 1.0.

Unfortunately not all AMQP systems (and there are many) are using version 1.0 of AMQP yet. RabbitMQ (at the time of this writing) does not yet provide AMQP 1.0 support. Some of the other AMQP systems are Apache QPID and StormMQ, but there are many others. Once all of these are supporting AMQP 1.0, then they should all be inter-operable with each other.

On their site at http://activemq.apache.org/amqp.html, ActiveMQ says, "We expect ActiveMQ to implement the latest version, once it is finalized. But, at this time, ActiveMQ does not implement AMQP." Now that AMQP 1.0 is out, there is no further word from ActiveMQ about when they will support it.

answered 2012-11-08T17:44:14.887

Your Answer