Replaying changes in Axon 3.0


I am looking how to do replaying in Axon 2.4.4 and I have a few questions.
In!searchin/axonframework/3.0/axonframework/neMRRpKzI-M/3WpP2qeeJAAJ Allard says that replaying will be a lot easier in Axon 3.0. How will replaying change?
Will it be possible to initiate replaying for a specific eventlistener, without using a clusters per eventlistener?
And what is the best practice for preventing the eventlisteners to handle an event for a second time when replaying? Do you have to make sure to only replay the events that went wrong, or keep track of all events that were handled successfully, or …?



Hi Erwin,

what do you mean with “preventing the eventlisteners to handle an event for a second time when replaying”? The whole idea of replaying is that an event listener recieves all events again, so that it can build up its state using these events.

In Axon 3, a replay will be initiated for an Event Processor. The Event Processor replaces the Cluster of Axon 2. Unlike the Cluster, the Event Processor is a 1st level component, not just an implementation detail of one of the Event Buses. The Event Processor, when it is running in “tracking mode”, will track the head of the Event Store at its own pace. It stores its progress as a token. By removing that token, you force the Processor to start from the beginning, effectively causing a replay.
Event Processors running in subscribe mode don’t support replays.

So you’ll still need to be careful with assigning event handlers to the Event Processors. Sagas will always have their own processor.



PS. For all the details, visit the Axon 3 Launch Event tomorrow:

Hi Allard,

Thank you for your explanation! I will give it a try.
I was at the launch event, it was great.

Thanks again,