ActiveMQ
ActiveMQ is an open source message broker written in Java.
This page is about the legacy ActiveMQ (ActiveMQ Classic / 5.x). For the new ActiveMQ Artemis, see ActiveMQ Artemis.
Developing
Embedded ActiveMQ broker using VM transport
To create an embedded ActiveMQ broker with no persistence (for testing), just set your client connection factory’s brokerURL to this:
vm://localhost?broker.persistent=false
JDBC message store
The JDBC message store consists of three tables:
ACTIVEMQ_ACKS
ACTIVEMQ_LOCK
- ensures that only one broker can access the database at one timeACTIVEMQ_MSGS
Troubleshooting
Spring Boot: “Error creating bean with name ‘cachingJmsConnectionFactory’“ due to “java.lang.ClassNotFoundException: javax.jms.JMSContext”:
- Spring Boot is trying to do something with the JMS 2.0 API (
JMSContext
is part of JMS 2) - Migrate to Artemis or override Spring Boot’s autoconfiguration.