Apache ActiveMQ now supports Java 7 and Java 6 (the runtime is compiled with JDK 1.6 and verified against JDK 1.7).
The multi-KahaDB (mKahaDB) persistent store, enables you to split message storage across multiple KahaDB store instances. For each message, the database to store the message in is chosen based on the message's destination name (multiple filters can be defined in order to map destination names to particular store instances).
In versions of Apache ActiveMQ prior to 5.6.0, it was necessary to put the XML elements in a Apache ActiveMQ configuration file into alphabetical order. This restriction has been removed and it is now possible to insert sibling XML elements in any order in the configuration file.
The Stomp-over-WebSocket protocol (ws: URL) now also supports a secure
variant of the transport (wss: URL), which takes its SSL/TLS configuration from
the sslContext configuration element.
In contrast to ordinary redelivery, where the redelivery logic is implemented by a
consumer client, with broker redelivery the redelivery logic is
implemented on the broker. This has the advantage that messages can be redelivered even
after a specific consumer has died, but has the disadvantage that message order cannot be
guaranteed. Broker redelivery can be enabled by installing the redeliveryPlugin
on the broker.
Locking on Apache ActiveMQ stores has been refactored so that the locking logic is independent of the particular store implementation. Previously, locking logic was part of a store implementation. The new architecture is more flexible, because it allows you to use any kind of locker with any kind of store database. Three locker types are currently provided: shared file locker, database locker, and lease database locker.
The lease database locker is a new locker implementation that is recommended as a replacement for the default database locker. With the default database locker, it could happen that the master broker crashes without releasing the lock, so that the slave remains permanently locked out and is unable to take over from the master. This problem is solved in the lease database locker, because the master acquires only a temporary lease on the lock and must regularly renew the lease. If the master crashes, the slave can acquire the lock as soon as the lease times out.
It is now possible to associate redelivery policies with specific destinations, by defining a redelivery map that associates a redelivery policy with each named destination (where the name can include wildcards).
Apache ActiveMQ now supports the new LevelDB store, which uses Google's LevelDB library to maintain the indexes into the log files.
Apache ActiveMQ now supports the MQTT (MQ Telemetry
Transport) transport. There are three variations of the MQTT transport: plain MQTT
(mqtt: URL), MQTT+NIO (mqtt+nio: URL), and MQTT+NIO+SSL
(mqtt+nio+ssl: URL).
Apache ActiveMQ now supports an LDAP authorization plug-in. You can configure the LDAP
authorization plug-in by adding the cachedLDAPAuthorizationMap element as a
child of authorizationPlugin/map.
Apache ActiveMQ now supports the Stomp+NIO+SSL protocol combination
(stomp+nio+ssl: URL).








