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 time
  • ACTIVEMQ_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.