+1 the subscription recovery policy should do it. Might makes sense to
separate the destinations as well.. one for boot strap and another for
updates.
On 9/1/16 2:19 PM, Julien Nicoulaud wrote:
I realize using retroactive consumers with a
custom SubscriptionRecoveryPolicy might be just what I need.
2016-09-01 21:06 GMT+02:00 Julien Nicoulaud <julien.nicoul...@gmail.com>:
Hi,
I'm trying to implement the following simple pattern using ActiveMQ:
- my server maintains a "state"
- my clients connect to the server, get a snapshot of the state and
suscribe to updates of the state
So I need the "state snapshot + subscription" step to be atomic for each
client connecting to the updates topic.
So far the only solution I can think of is:
- put an absolute sequence number on update messages
- use separate temporary queues for state snapshot requests (like
described here: http://activemq.apache.org/how-should-i-implement-
request-response-with-jms.html)
- each state snapshot is tagged with the sequence number of the
corresponding update
- when a client connects, it suscribes first to the updates topic, then
requests the snapshot state, and just discards updates that are older than
the snapshot state
I feel there might be a smarter solution, as strict ordering is built in
the framework ? Or maybe using advisory messages ?
Thanks,
Julien