ActiveMQ not ready for prime time -- a follow up May 27, 2011
I was somewhat hesitant to write a negative piece about ActiveMQ because I don't enjoy "going negative" and really prefer to spend my energy resolving issues rather than generating waste heat.
Given the public and private conversations I've had over the last day, I am really, really glad I wrote the piece. I'm really glad I've got a high visibility warning on the use of ActiveMQ because I could find very few people positive about it, yet a whole lot who were negative. I only wish that I had read a seriously negative piece about it so I could have avoided recommending it to my client in the first place.
I've interacted with over 20 people who have had ActiveMQ experiences. Basically, 2 people have had neutral to positive experiences with ActiveMQ and the rest have had bad experiences with it. This is not always the case... when I've written negative reviews of IntelliJ (I'm positive on IntelliJ at this point, so positive that I paid for a license despite getting a free license via my open source project). IntelliJ users vocally disagreed with me including one death threat.
Daniel Spiewak from Novell's Vibe project. One of the brightest people on the Scala community couldn't get ActiveMQ to work in the most basic configuration.
Steve Jenson from Twitter evaluated and rejected ActiveMQ.
Those two people are technically strong and were unable to get ActiveMQ to do what was necessary for their businesses (granted Twitter's requirements are very demanding).
I had a private conversation with a friend and client who read my piece and relayed a story about using ActiveMQ and having to put together a cron script to kill it every hour or so because ActiveMQ wasn't stable for them beyond 2 hours (memory leaks and the inability of ActiveMQ to do the right thing in a low memory situation) and the cost of lost messages was low, but the cost of an ActiveMQ lock-up was very high. They wrote their own message queue (in C++) in 2 man-weeks and it' gotten the job done for them ever since.
It has become very, very clear to me that my experiences with ActiveMQ are not isolated, but in fact are the norm. So, I will reiterate, do not put ActiveMQ on your evaluation list, it is not ready for prime time.
"Have you tried xxxx?"
I also don't recommend any message queues. I do not have enough experience with any message queuing products to make any form of positive recommendation.