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

Valuable Features:

  • 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

Improvements to 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.

Room for 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.

Use of Solution:

I have been using ActiveMQ for approximately two years.

Stability Issues:

We have not encountered any stability issues.

Scalability Issues:

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.

Previous Solutions:

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

Other Solutions Considered:

We looked at Redis and RabbitMQ.

Other Advice:

  • 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.

Add a Comment

Anonymous avatar x30
Why do you like it?

Sign Up with Email