We had a number of discussions around application level events and integration middleware in OpenMRS over the years. We’d like to coordinate efforts and unify the approach. I’ve created TRUNK-6507 to move the work forward.
Here’s a good documentation on what the UI console looks like for ActiveMQ Artemis: Artemis
And RabbitMQ:
Artemis provides much more insight into the actual queue content than RabbitMQ. You can even inspect individual messages and move them between queues. RabbitMQ is simpler to use and gives a good overview of what’s happening in the broker, but you have no insight into message content and you cannot change messages in queues.
No, currently we store all the events in a management database first, which includes some retry logic to guarantee message delivery. From the DB, the events are wired into Camel routes for further processing.
openmrs-db-sync project uses ActiveMQ as a JMS broker, @wyclif can comment on the experience of using ActiveMQ?