======================================================================= ActiveMQ Router ======================================================================= Overview ----------------------------------------------------------------------- This module is a new core routing back end for the ActiveMQ message broker. It's an attempt to consolidate and simplify features that have been added over time to the current ActiveMQ 5.0 back end. ActiveMQ 5.0 added the ability to spool messages to disk so that larger queue depths could be supported without blocking the producer. This was added on without being designed into the the original architecture of the broker. This version attempts to make supporting this feature easier by designing in this use case from the start. This had lead to a re-design of the message store interfaces and and cache management. It is also going to do away with some bad ideas like having a global broker wide memory limit. The broker wide limit makes it too easy to enter into a network deadlock. Right now this back end provides a platform to test out design changes and is only implementing the core uses messaging use cases. Temp destination, queue browsers and such are not yet implemented. These can easily be added on later. We should use this module to do performance related research on: * contention reduction * latency reduction * memory footprint reductions * batching optimizations to increase throughput * thread model changes Building ----------------------------------------------------------------------- For this module to build you first must patch up and build the ActiveMQ trunk with the activemq.patch file. The patch adds the hooks that are needed to replace the default ActiveMQ routing back end with this new router. $ cd ${activemq-trunk} $ patch -p 0 < ${activemq-router}/activemq.patch $ mvn clean install -Dtest=false