Axon 3.2 has been released. It contains a number of API improvements, as well as some fixes to issues found in 3.1.x versions.
One major new feature is the addition of an API call to initiate a “reset” of a tracking event processors. This reset effectively causes a replay of the processor. Event Handling components can be notified of this reset by implementing an @ResetHandler annotated method. Furthermore, events that are delivered as part of a “replay” (i.e. events that had already been published at the time the processor was reset) can be ignored by a handler by annotating it with @AllowReplay(false), or alternatively by adding a parameter of type ReplayStatus.
Another improvement is an API to check the processing status of a Tracking Event Processor. It now exposes information of each Processing Segment (i.e. Thread), such as whether it is replaying, whether it is still catching up with historic events (after replay or fresh start) and the token of the last event that has been processed. This allows for blue-green deployments to wait switching between Blue and Green until all processors have caught up.
The last highlighted feature of this release is an improvement on the Query API. It is now easier to query for a collection of certain result types using the QueryGateway, using queryGateway.query(myQueryObject, ResponseTypes.multipleInstancesOf(MyResponseType.class)). This reduces the need for casting of generic types or building of container types when explicitly querying for collections.
Check out the release notes for details.