Coming in ActiveMQ v5.11: In-Memory Scheduler Store
Join the DZone community and get the full member experience.Join For Free
Up to this point your only option for doing scheduled message delivery
in ActiveMQ required that you start a broker with persistence enabled.
Well, that's not entirely true, if you wanted to apply some
configuration magic and start a broker in non-persistent mode and add an
instantiated version of the KahaDB based JobSchedulerStore you could
but that's not really ideal when you don't really need or want full
persistence such as during unit tests or in some embedded cases.
So from here on out if you want to use scheduled message dispatch but don't require the overhead of offline storage for your broker then just create a Broker instance that has persistence disabled and scheduler support enabled.
Here's an example of an embedded Broker that will use an in-memory scheduler:
BrokerService answer = new BrokerService();
There's a lot more changes under the hood in the scheduled message bits coming in ActiveMQ 5.11.0 but I'll cover that in another post.
Published at DZone with permission of Timothy Bish, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.