It has improved message processing. It removes the tight coupling and asynchronous invocation.
Microservices Consultant at a transportation company with 501-1,000 employees
Provides sequential message processing and message broadcasting. Distributed message processing would be a nice addition.
Pros and Cons
- "Message broadcasting: There could be a use case sending the same message to all consumers. So as a producer, I broadcast the message to a topic. Then, whichever consumers are subscribed to the topic can consume the same message."
- "Distributed message processing would be a nice addition."
How has it helped my organization?
What is most valuable?
- Sequential message processing.
- Message broadcasting: There could be a use case sending the same message to all consumers. So as a producer, I broadcast the message to a topic. Then, whichever consumers are subscribed to the topic can consume the same message.
- JMX console: Provides a UI to visualize a list of queues and topics on the broker. We can see any pending message for particular topic/queue. It displays how many consumers are connected to a topic/queue. We can send a message from the JMX console to a topic/queue without the need of a producer to distribute the message.
What needs improvement?
- Distributed message processing would be a nice addition.
- An older version of ActiveMQ only provided failover, without a message spread across multiple nodes/broker. As with clusters (three nodes/broker), if one of the nodes goes down, other nodes should take the message and process it. If a message is consumed by a client, there was only one way to get the same message again.
What do I think about the stability of the solution?
We did not encounter many stability issues.
Buyer's Guide
ActiveMQ
December 2024
Learn what your peers think about ActiveMQ. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
What do I think about the scalability of the solution?
We did not encounter many scalability issues.
How are customer service and support?
It’s open source, so we can’t expect more tech support. But the documentation has helped a lot.
Which solution did I use previously and why did I switch?
We used JMS embedded in an application. Because of scalability issues, the JMS console, and isolation, we switched to ActiveMQ.
How was the initial setup?
The setup was straightforward. Just download the extract and begin the startup script. That’s it.
What's my experience with pricing, setup cost, and licensing?
I use open source with standard Apache licensing.
What other advice do I have?
ActiveMQ is a great messaging system for synchronizing call and "fire and forget" types of calls. It can be integrated with Spring, Camel, and Struts.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Junior Software Engineer at Cateina Technologies
Helps in the hybrid integration and movement of data clusters
Pros and Cons
- "I am impressed with the tool’s latency. Also, the messages in ActiveMQ wait in a queue. The messages will start to move when the system reopens after getting stuck."
- "The tool needs to improve its installation part which is lengthy. The product is already working on that aspect so that the complete installation gets completed within a month."
What is most valuable?
I am impressed with the tool’s latency. Also, the messages in ActiveMQ wait in a queue. The messages will start to move when the system reopens after getting stuck.
What needs improvement?
The tool needs to improve its installation part which is lengthy. The product is already working on that aspect so that the complete installation gets completed within a month.
For how long have I used the solution?
I have been using the solution for a year.
What do I think about the stability of the solution?
I would rate the tool's stability a seven-point five out of ten. The tool is highly stable.
What do I think about the scalability of the solution?
My company has more than 1000 users for the solution.
How was the initial setup?
The tool’s installation is tricky for someone who is installing it for the first time or has little experience with it.
What other advice do I have?
I would rate the tool an eight out of ten.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
ActiveMQ
December 2024
Learn what your peers think about ActiveMQ. Get advice and tips from experienced pros sharing their opinions. Updated: December 2024.
824,067 professionals have used our research since 2012.
Senior System Administrator for Cloud Operations at a tech company with 10,001+ employees
Price point and licensing are the most valuable features relative to Websphere MQ. It needs some improvement playing with multi-platform message clients.
What is most valuable?
- Price point and licensing are the most valuable features relative to our previous MQ solution (Websphere MQ).
- Apache provides Docker images on the public registry for multiple versions of ActiveMQ. The value of the Apache-provided Docker image is that it spares developers from having to manually install ActiveMQ software. Using Docker, I can get a working ActiveMQ server up and running in minutes with zero knowledge of how the software is installed or what configuration files need to be tweaked, etc. Also, I can spin up an ActiveMQ farm of Docker containers within minutes if I want to test things like clustering, HA, etc. For something like concept testing or R&D, this is a fantastic way to save time and money.
- Multi-protocol support: http://activemq.apache.org/protocols.html. As we began to explore integrating IoT solutions, ActiveMQ’s support of the MQTT protocol was very convenient!
How has it helped my organization?
This product enabled development teams at my previous organization to R&D much quicker with JMS based applications, which basically comprised the entire middleware layer of the organization. Previously, we would get stuck waiting for license procurement for the IBM solution, which wasted project time and budget.
What needs improvement?
Apache ActiveMQ needs some improvement playing with multi-platform message clients. It already plays really well with Java clients since it’s a JMS implementation, but it needs some improvement supporting clients written in other languages (like C#).
For how long have I used the solution?
I have been using the solution for 18 months.
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?
We have not encountered any scalability issues.
How are customer service and technical support?
For an open source solution, support options are actually very robust: http://activemq.apache.org/support.html
Which solution did I use previously and why did I switch?
We previously used WebSphere MQ and switched mainly due to licensing costs.
How was the initial setup?
For us, initial setup was VERY easy since we were using the Apache-provided Docker image for ActiveMQ, which alleviates a lot of the traditional pains involved with installing new software.
What's my experience with pricing, setup cost, and licensing?
This solution is awesome from both perspectives.
Which other solutions did I evaluate?
Before choosing this product, we did not evaluate other options.
What other advice do I have?
If possible, use the Docker image that Apache foundation builds!
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Project Staff at a financial services firm with 501-1,000 employees
It is useful for apps that have a lot of messages.
What is most valuable?
The database and message queuing are valuable features. It is useful for apps that have a lot of messages as well.
How has it helped my organization?
Thanks to ActiveMQ, we have managed to set up an IoT application.
What needs improvement?
There is need for more protocols and maybe they should provide documentation on the internet as well.
During my summer internship, I developed a IoT application (a proof of concept). We had some Texas Instruments CC2650 sensors emitting to MQTT. For the first time, we wanted them to AMQP protocol with RabbitMQ, but the MQQT QoS 2 on RabbitMQ was a big problem. Thus, we switched to ActiveMQ. Unfortunately, we had to stay in MQTT, as ActiveMQ can’t translate protocols like RabbitMQ.
In the end, we used the ActiveMQ broker to get the messages from our sensors (using the Java Library by Hiram Chirino, mqtt-client), then we parsed the messages from the sensors and stored them in Apache Hbase. With all of this data, we made some statistics, graphs and various other useful stuff for the industrials.
About the documentation, it is more about the ActiveMQ advanced concepts such as using the KahaDB etc. For the protocols, maybe a translator is needed for example integration of AMQP to MQTT or XMPP to CoAP.
For how long have I used the solution?
I have used this solution during a summer internship last summer.
What do I think about the stability of the solution?
We have not yet encountered any stability issues.
What do I think about the scalability of the solution?
We have not yet encountered any scalability issues. Currently, we are receiving 1000 messages per second (on an average).
How are customer service and technical support?
We have not used the technical support.
Which solution did I use previously and why did I switch?
Previously, we were using RabbitMQ, but it didn’t support MQTT QoS 2.
What's my experience with pricing, setup cost, and licensing?
It is a good, free and safe product.
Which other solutions did I evaluate?
We have tried Apache Apollo and RabbitMQ.
What other advice do I have?
Make sure your queues and topics are correctly named as it can quickly become a mess.
Overall, it is a good product but lacks some documentation.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Sr Software Engineer - Enterprise Automation Systems at a tech services company with 5,001-10,000 employees
It allows for asynchronous communication.
Pros and Cons
- "It’s a JMS broker, so the fact that it can allow for asynchronous communication is valuable."
- "The clustering for sure needs improvement. When we were using it, the only thing available was an active/passive relationship that had to be maintained via shared file storage. That model includes a single point of failure in that storage medium."
What is most valuable?
It’s a JMS broker, so the fact that it can allow for asynchronous communication is valuable.
What needs improvement?
The clustering for sure needs improvement. When we were using it, the only thing available was an active/passive relationship that had to be maintained via shared file storage. That model includes a single point of failure in that storage medium.
What do I think about the stability of the solution?
We didn’t encounter anything that wasn't a result of our own misguided uses.
What do I think about the scalability of the solution?
We did have scalability issues.
How are customer service and technical support?
It's open source.
Which solution did I use previously and why did I switch?
We didn’t have a previous solution.
How was the initial setup?
The initial setup was straightforward. Whatever you don’t know, you can find via Google pretty easily.
What's my experience with pricing, setup cost, and licensing?
It’s open source, ergo free.
Which other solutions did I evaluate?
We didn’t seek alternatives. We were told to use this.
What other advice do I have?
Check out RabbitMQ. Run it in a Docker container out of Kubernetes with a persistent volume. You could probably do that with ActiveMQ, but it would require working with KahaDB, or establishing some other backend database pod.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Consultant, Architect at a financial services firm with 201-500 employees
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.
Senior Consultant at a tech vendor with 1-10 employees
It sends large messages at decent speeds.
What is most valuable?
The ability to send large messages at decent speeds.
How has it helped my organization?
It had no impact on the organization. We used it in a solution we built for somebody else.
What needs improvement?
Even though there is support from many open source communities, there is still weakness in ease-of-use and ease-of-configuration for more complex scenarios.
The speed is not the highest ranking, but it's well known by users. They chose ActiveMQ for other features, because they know there are other messaging solutions that can work faster, like RabbitMQ, which is not Java written, but rather Erlang.
For how long have I used the solution?
I have been using ActiveMQ for one year.
What do I think about the stability of the solution?
There were no problems with stability.
What do I think about the scalability of the solution?
There were no scalability issues up to the point when I was involved in the project.
How are customer service and technical support?
I didn't use their technical support, just the classical StackOverflow support. That gave me enough information.
Which solution did I use previously and why did I switch?
We didn't have a previous solution.
How was the initial setup?
The installation was straightforward. The framework we used, Spring, facilitates this integration.
Which other solutions did I evaluate?
We evaluated RabbitMQ.
What other advice do I have?
Make sure you need all the facilities that a message broker offers, as there are other lightweight solutions out there.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Site Reliability Engineer at a tech vendor with 1,001-5,000 employees
Delivers work to backend worker services that run tasks with variable run times. We ran into various stability problems with our implementations.
What is most valuable?
The valuable features are:
- Message queues
- Camel routes
- High availability
- Serialization of batch jobs
- Consumer/worker throttling
- Message durability
How has it helped my organization?
We use ActiveMQ primarily to deliver work to backend worker services that run tasks with extremely variable run times.
For how long have I used the solution?
I supported and used ActiveMQ from 2010-2016.
What do I think about the stability of the solution?
We ran into various stability problems with our implementations over the years. We also ran into a few problems related to bugs.
One of the bugs was a memory leak from the KahaDB log files. As uptime accumulated, it eventually triggered one of the artificial limitations on the disk space used by KahaDB.
What do I think about the scalability of the solution?
There have been no issues with scalability, but we had a pretty low message throughput.
How was the initial setup?
The installation was pretty straightforward. It was also easy setting up HA using an NFS share for hosting the KahaDB.
What other advice do I have?
Use the right tool for the job. Evaluate your needs carefully. Ensure that you do adequate performance, load, and failure mode testing prior to introducing the solution to production.
Disclosure: I am a real user, and this review is based on my own experience and opinions.
Buyer's Guide
Download our free ActiveMQ Report and get advice and tips from experienced pros
sharing their opinions.
Updated: December 2024
Product Categories
Message Queue (MQ) SoftwarePopular Comparisons
MuleSoft Anypoint Platform
IBM MQ
VMware Tanzu Data Solutions
Amazon SQS
PubSub+ Platform
Red Hat AMQ
EMQX
Oracle Event Hub Cloud Service
Aurea CX Messenger
Buyer's Guide
Download our free ActiveMQ Report and get advice and tips from experienced pros
sharing their opinions.
Quick Links
Learn More: Questions:
- What Is The Biggest Difference Between ActiveMQ and IBM MQ?
- What is the biggest difference between ActiveMQ and RabbitMQ?
- When evaluating Message Queue, what aspect do you think is the most important to look for?
- What Message Queue (MQ) Software do you recommend? Why?
- What is the best MQ software out there?
- What is MQ software?
Did you use async send, should improve performance, even when going in default mode, with persistent messages?