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.
Cheers,
Allard