LibraryToggle FramesPrintFeedback

New Features

Java support

Apache ActiveMQ now supports Java 7 and Java 6 (the runtime is compiled with JDK 1.6 and verified against JDK 1.7).

mKahaDB persistent store

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).

XML element order in configuration

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.

Secure WebSocket transport

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.

Broker redelivery

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.

Pluggable locking for stores

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.

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.

Redelivery policy per destination

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).

LevelDB store

Apache ActiveMQ now supports the new LevelDB store, which uses Google's LevelDB library to maintain the indexes into the log files.

MQTT transport

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).

LDAP authorization plug-in

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.

Stomp 1.1

Apache ActiveMQ now supports Stomp version 1.1.

Stomp + NIO + SSL

Apache ActiveMQ now supports the Stomp+NIO+SSL protocol combination (stomp+nio+ssl: URL).

MS SQL JDBC driver 4.0

Apache ActiveMQ now supports using MS SQL JDBC driver 4.0 with the JDBC persistence adapter.

Comments powered by Disqus