How has it helped my organization?
Most architecture nowadays requires too much performance. We can use products like ActiveMQ to improve our architecture.
I implemented a micro-services based architecture and did some of the communication via queues. I used actors with the Akka framework, and not only threads in Java.
What is most valuable?
The most important feature is that it's best for JVM-related languages and JMS integration.
The product is really straightforward. All the operations that you use are pretty simple and worked fine.
The deal is to write the correct logic.
What needs improvement?
Message Management: Better management of the messages. Perhaps persist them, or put in another queue with another life cycle.
To clarify, it needs some queues in memory with the same abstract logic that ActiveMQ provides. An interesting example could be the embedded Redis framework, or the Derby database for integration tests.
ActiveMQ does not persist the messages in the queue. So it would be fine if active has that feature, or some way to do it. So you can grab that message any time during the application lifecycle.
Apache Kafka has that feature.
The improvement could be the availability to persist the message in the
queue for any time along the app running.
Testing: I did not find a correct way to test the integration using Java, but rather only with manual testing.
What do I think about the stability of the solution?
We did not encounter any stability issues.
What do I think about the scalability of the solution?
There were no scalability issues. With a good strategy, we can scale onto large systems using ActiveMQ.
How is customer service and technical support?
I would give technical support a rating of 10/10. Despite the doubts that I encountered during the development, I could get the answer in the documentation.
How was the initial setup?
The initial setup is very easy. You don't need to install anything. Just run the start command or put the URL in the browser.
What's my experience with pricing, setup cost, and licensing?
I think the software is free.
Which other solutions did I evaluate?
We evaluated Apache Kafka and also RabbitMQ. The choice was about the better integration with JMS.
What other advice do I have?
I fully recommend this product, but you need to have some expertise working with JMS and asynchronous tasks. You also need a correct strategy, or at least think about one.
Which version of this solution are you currently using?
Apache ActiveMQ 5.2.0