Axon Framework v4.11.0
⚠️ Chance for duplicate interceptor registration
In 4.11.0 of Axon Framework, Spring Boot auto-configuration support for MessageHandlerInterceptors
and MessageDispatchInterceptors
was introduced.
For those curious how this was achieved, we refer to #3203.
Although the feature on it's own shouldn't cause trouble, be aware that if the Axon Framework application you are working on already exposes MessageHandlerInterceptors
and MessageDispatchInterceptors
beans in the Spring Application Context. When this is the case, in combination with custom code to wire these beans into your infrastructure components, the chance is high they'll be registered twice due to the aforementioned feature.
As such, we recommend to either:
- Remove the custom interceptor auto-configuration, to pass along this task to Axon Framework, or
- Exclude the
InterceptorAutoConfiguration
from your Spring Boot auto-configuration.
By following either road, you should be ascertained that interceptors are not registered twice.
⭐ Features
- Introduce configurable timeouts for message handlers. #3272
- [#3179] test: Spring graceful shutdown - Configurer is only shutdown after processing active requests #3268
- [#3202] Auto-register
MessageHandlerInterceptors
with Spring Boot #3203 - Autoregister MessageHandlerInterceptors with Spring Boot #3202
- [#3159] Support Apache Avro #3187
- Support Apache Avro as message serialization format #3159
- Secure MessageHandlerDefinition #3057
- Interceptor list Spring auto configuration #1422
📈 Enhancements
- [#3159]
AvroSerializer
- Documentation, code sample, and auto-config fix #3275 - Catch
IllegalJobStateChangeException
inJobRunrDeadlineManager
when the failed change is fromDELETED
toDELETED
#3267 - Introduce gRPC message limit warning and prevention #3264
- [#3217] warn and document Persistent Stream uniqueness based on stream name #3262
- Have
DefaultEventGateway
provide a collection of events to theEventBus
instead of looping over the events #3241 - ci: GitHub Actions (AF4) - rerun flaky tests #3238
- ci: GitHub Actions (AF4) - timeout for builds and one in-progress run per pull request #3232
- [#3215] Improve retry handling using (exponential) back-off in Pooled Streaming Event Processors #3223
- Warn or validate, and document Persistent Stream uniqueness based on stream name #3217
- Improve retry handling using (exponential) back-off in Pooled Streaming Event Processors #3215
- SagaTestFixture extend APIs for publishing historic events with metadata #3198
- SagaTestFixture API extension for publishing historic events with metadata #3197
- Upgrade XStream to 1.4.21 to resolve CVE-2024-47072 #3181
🪲 Bug fixes
- Cleanup of persistent stream processing logic #3270
- Fix for deadlock when many queries wait for responses #3260
- docs: fix PooledStreamingEventProcessor default initial tracking token #3257
- [#3057] fix: Spring-Axon app can run without Spring Security as dependency #3222
- fixed hasAnnotation test #3142
🛠️ Dependency upgrades
- Bump the maven-dependencies group with 3 updates #3266
- Bump actions/setup-java from 4.6.0 to 4.7.0 in the github-dependencies group #3259
- Bump the maven-dependencies group across 1 directory with 15 updates #3258
- [#3181] deps: upgrade XStream to 1.4.21 to resolve CVE-2024-47072 #3251
- Define spring boot compatibility #3242
- Bump the maven-dependencies group across 1 directory with 5 updates #3220
- Bump actions/setup-java from 4.5.0 to 4.6.0 in the github-dependencies group #3218
- fix build after dependency upgrades #3213
- Bump the maven-dependencies group with 2 updates #3212
- Bump the maven-dependencies group with 21 updates #3209
- Bump slackapi/slack-github-action from 1.27.0 to 2.0.0 in the github-dependencies group #3189
- Bump actions/setup-java from 4.4.0 to 4.5.0 in the github-dependencies group #3169
- Bump jakarta.inject:jakarta.inject-api from 2.0.1 to 2.0.1.MR #3145
- Bump actions/setup-java from 4.3.0 to 4.4.0 in the github-dependencies group #3138
- Bump the maven-dependencies group with 5 updates #3137
- Bump the maven-dependencies group with 5 updates #3133
- Bump actions/setup-java from 4.2.2 to 4.3.0 in the github-dependencies group #3128
- Bump the maven-dependencies group with 5 updates #3127
- Bump the maven-dependencies group with 4 updates #3125
- Bump the maven-dependencies group with 5 updates #3121
- Bump slackapi/slack-github-action from 1.26.0 to 1.27.0 in the github-dependencies group #3120
- Bump the maven-dependencies group with 11 updates #3114
- Bump the maven-dependencies group with 8 updates #3112
- Bump the maven-dependencies group with 7 updates #3108
- Bump actions/setup-java from 4.2.1 to 4.2.2 in the github-dependencies group #3107
- Bump the maven-dependencies group with 3 updates #3072
- Bump org.axonframework.extensions.mongo:axon-mongo from 4.9.0 to 4.10.0 in the maven-dependencies group #3058
- Bump org.jobrunr:jobrunr from 6.3.5 to 7.2.2 in the maven-dependencies group across 1 directory #3053
❤️ Contributors
We'd like to thank all the contributors who worked on this release!