This repository was archived by the owner on Jul 4, 2025. It is now read-only.
Release 0.40.16 Spring Boot 3.2.*
Pre-release
Pre-release
What's Changed
- Release 0.40.16 by @cloudcreate-dk in #98
Full Changelog: 0.40.15...0.40.16
- Ensured
Typescompatibility with Jackson 2.18.0 by adding explicitString(for subclasses ofCharSequenceType) orNumber(for subclasses ofNumberType) constructors to concrete semantic types - Made providing an Exception optional when marking a
DurableQueuemessage as a dead-letter message - Added support for providing an optional String description/cause when marking a
DurableQueuemessage as dead-letter message - Added test to
DurableQueuesIT, for a case where a Message handler during consumption manually marks the message as a dead-letter message, to confirm that the message is marked as a dead-letter message - Changed
PostgresqlDurableQueues#acknowledgeMessageAsHandled(AcknowledgeMessageAsHandled)to only delete a message if it's NOT marked as a dead-letter message - Changed
MongoDurableQueues#markAsDeadLetterMessage(MarkAsDeadLetterMessage)to not require that the message is marked isisBeingDelivered. The operation now also resetsnextDeliveryTimestampto null. This aligns withPostgresqlDurableQueuesbehaviour - Changed
MongoDurableQueues#acknowledgeMessageAsHandled(AcknowledgeMessageAsHandled)to only delete a message if it's NOT marked as a dead-letter message and not require that the message is marked isisBeingDelivered - Since many operations are initiated by a new
UnitOfWork, theDBFencedLockManager's version ofwithUnitOfWorkandusingUnitOfWorknow requires an error handler to make error handling explicit - The internal
DBFencedLockManager#confirmAllLocallyAcquiredLocksno longer releases locks in case of an IO Exception during call tolockStorage.confirmLockInDB. If DB connectivity is broken it's better to retain the lock ownership as all nodes accessing the DB will likely experience the same behaviour - Added tests to
DBFencedLockManagerIT, therebyPostgresqlFencedLockManagerITandMongoFencedLockManagerIT, that tests the behaviour in case database connectivity is interrupted - Fixed potential
NoClassDefFoundExceptioninIOExceptionUtil - Added tests to
DurableQueueintegration tests to verify the behaviour in case database connectivity is interrupted - Improved
EventStoreSubscriptionjavadoc - Introduced
PersistedEventSubscriberinEventStoreSubscriptionManagerto handle allEventStore#pollEventrelated logic, event forwarding and error handling related to asynchronous subscriptions - Added
EventStoreSubscriptionManagertests that verify behaviour when the database connectivity is interrupted
Updated 3rd party dependencies:
- Spring-Boot 3.2.10
- Spring-Data-MongoDB 4.2.10
- Spring-Data-JPA 3.2.10
- MongoDB Driver Sync 4.11.4
- log4j 2.24.0
- snakeyaml 2.3
- micrometer 1.12.10
- micrometer-tracing 1.2.10
- netty 4.1.113.Final
- Junit 5.11.1
- Jackson 2.18.0
- Reactor 2023.0.10
- Spring 6.1.13
- Mockito 5.14.0
- Logback 1.5.8
Updated maven plugins:
- maven-failsafe-plugin / maven-surefire-plugin 3.5.0
- dependency-check-maven 10.0.4
- maven-gpg-plugin 3.2.7