We have released Axon Framework 5.0.0 Milestone 3 today
.
After getting milestone one and two out the door, the team has been empowered to push through to the next one. All so that we can get a full release of 5.0.0 released somewhere this year.
This milestone contains roughly six major pointers, being:
- Distributed Command Routing through Axon Server
- Revised Event Processing implementation
- Stateful Event Handler support
- Revised Serialization flow
- Revised Message Dispatch and Handler Interceptor API
- Further Spring Boot Autoconfiguration integration
The revisions on the Event Processing, Serialization, and Interceptor support are in place to align with our new “Async Native API,” which revolves around the ProcessingContext and MessageStream usage throughout. As such, these changes should not directly impact you.
For Event Processing, we simplified yet expanded the configuration options. We simplified it by leaving the draconic Event Processing Module behind and drafting smaller, more concise configuration components. It expanded because you are now able to configure Event Handling Components in a non-annotated fashion!
On top of that, we have introduced Stateful Event Handling support. This means you can inject an Entity (either directly or through AF’s StateManager) into your Event Handling functions. Why is this awesome? Well, it allows you to introduce event-sourced models in your event handlers, something that was not possible in AF4!
This flow can also serve as a replacement for simple Sagas. Especially combined with DCB, as a DCB-based event store allows you to source from several entities. This is not so different from the old Saga associating with multiple aggregates.
You can expect at least one more milestone from us before Axon Framework 5.0.0 will be released fully. Until that time, we would like to ask you to play around and experiment with release “5.0.0-M3”.
To ease your path into this milestone, we’ve made a new getting started guide. It’s this guide that shows the new configuration, test fixture, stateful command handlers, Axon Server with DCB, and, of course, how we imagine support for the dynamic consistency boundary for everybody. We will update the getting started with each new milestone, to help everybody comprehend what’s been provided.
Once you have explored this or a subsequent milestone, we would welcome your feedback very much! To that end, you can open a new topic under the “AF5 Milestone” category; we’ll be sure to reply there as soon as possible. We have also provided a feedback template for your convenience.
If you want to know the complete change list for milestone 3, please check the release notes here.
The Axon Framework team thanks everybody who will put time and energy into this milestone! Know that any input you gives us, good or bad, us very much appreciated.