Axon Framework 4.7 ready to use

With the release of the bom this morning, all the pieces are now in place to upgrade your applications to 4.7. This will be a short overview of the highlights of this release. For the complete list, check the release notes of Axon Framework itself or any of the extensions.

Spring Boot 3 support

A few months ago, Spring Boot 3 was released. It contained breaking changes for auto-configuration. These affected most of Axon's extensions as well. With release 4.7 they are all updated to support Spring Boot 3, as well as Spring Boot 2. One of the major adjustments of Spring Boot 3 and Spring Framework 6 is the switch from javax to jakarta. You can read more about what this entails for your Axon Framework application in this blog. As none of the extensions used javax.persistance or javax.validation, this change didn't affect the extensions.

JobRunr implementations of deadline manager and event scheduler

In addition to existing implementations, we implemented JobRunr versions of the EventScheduler and DeadlineManager. JobRunr is actively being developed and is easy to integrate using a starter. It has lots of options for the persistence layer and has an optional dashboard to visualize the jobs. Note that the deadline manager currently doesn't support the cancelAll methods. This will likely be a 4.8 feature, which you can track through this issue.

Mongo transaction support and Spring Boot auto-configuration

Both support for transactions and auto-configuration was added to the Mongo extension. To properly take advantage of this, some changes are necessary. You can read more about it in this blog.

Improvements for testing and dead letters.

Several other noteworthy improvements are related to the test fixtures. Among those making it possible to register handler interceptors on a  SagaTestFixture. It's also possible to use dead letters as parameters in event handling methods. Besides the existing JpaSequencedDeadLetterQueue, we now also offer the MongoSequencedDeadLetterQueue.

Next steps

If you run into any problems during the upgrade, please reach out on Discuss for questions or GitHub when you think it's a bug.

Gerard Klijs
Software Engineer. With over 10 years of experience as a backend engineer, Gerard Klijs is a contributor to several GraphQL libraries, and also the creator and maintainer of a Rust library to use Confluent Schema Registry. He has an interest in event sourcing and CQRS and likes sharing knowledge via blogs, talks, and demo projects.
Gerard Klijs