I'm implementing a distributed software that have two loosely coupled component and they need to send message in a reliable and scalable way. I find activemq as a implementation of jms standard and do some research and sample implementation. my two key requirements is :
but I think it could be a risky decision to depend my design to activemq. any suggestion?
It could be "risky" to depend the storage on MySQL, Oracle or SQL Server as well. Bugs exists in all software and ActiveMQ is no different.
A large bunch of solutions depend on ActiveMQ to deliver messages without loosing them. Few other messaging servers are as widely adopted as ActiveMQ and it has been around and actively developed for ages. Many bugs has been discovered and corrected.
Of course, you need to rely on the underlying disk and server as well, but that is supported by various master slave solutions, so that a slave node can take the lead if the master fails.