ActiveMQ Review

Virtual topics and configuration of dead letter strategies are valuable features.

What is most valuable?

  • Virtual topics supporting easy scalability of topic consumers
  • Simple, yet flexible configuration of dead letter strategies
  • The master-slave group with shared storage cluster topology

How has it helped my organization?

Loose coupling of components by the use of messaging queues allows for completely separate component life cycles and ownership within the organization.

It also greatly contributes to application maintenance and managing incidents, since no component is synchronously coupled to the other.

These are important considerations in a micro-service environment such as ours.

What needs improvement?

The included admin web app is not sufficient and we ended up disabling it. Instead, we are instead using hawtio and Jolokia.

However, the audit logging in Jolokia is not detailed enough and we were forced to write our own audit filter.

Even with hawtio, some JMX operations are awkward. A better admin tool would be nice.

For how long have I used the solution?

I have been using ActiveMQ for approximately two years.

What do I think about the stability of the solution?

We have not encountered any stability issues.

What do I think about the scalability of the solution?

The documentation is very good. Since this is a widely used product, there are plenty of good examples of how to solve various tasks. We have not used any other technical support.

Which solution did I use previously and why did I switch?

The strategic architecture in the organization required a more lightweight, yet mature, capable, reliable, and scalable open source alternative.

Which other solutions did I evaluate?

We looked at Redis and RabbitMQ.

What other advice do I have?

  • One needs to understand how asynchronous messaging works and the idea behind it.
  • Plan your production environment and security requirements early on. This includes clustering, encrypted client traffic and read/write/admin rights on queues and topics.
  • All messages will have a unique message ID, but also consider generating and logging a unique ID per message in your sending application. This ID can be propagated as a JMS header to all receiving applications and logged, in order to facilitate traceability later on.
**Disclosure: I am a real user, and this review is based on my own experience and opinions.
More ActiveMQ reviews from users
...who work at a Financial Services Firm
...who compared it with IBM MQ
Add a Comment