Commit Graph

162 Commits

Author SHA1 Message Date
Oliver Drotbohm
c16751b98b GH-576 - Prepare next development iteration. 2024-04-29 13:52:32 +02:00
Oliver Drotbohm
2a9d3fda2a GH-576 - Release version 1.1.4. 2024-04-29 13:52:32 +02:00
Benjamin Knauer
faca51a0c2 GH-564 - Use error log in PersistentApplicationEventMulticaster if listener not found.
Related pull request: GH-548.
2024-04-29 08:37:01 +02:00
Oliver Drotbohm
a22a3bd617 GH-513 - Prepare next development iteration. 2024-02-23 16:34:58 +01:00
Oliver Drotbohm
268b27b7c3 GH-513 - Release version 1.1.3. 2024-02-23 16:34:58 +01:00
Oliver Drotbohm
954ecc2993 GH-517 - Upgrade to Spring Boot 3.2.3 2024-02-23 16:30:40 +01:00
Oliver Drotbohm
c4c0c2f5be GH-502 - Polishing. 2024-02-14 12:29:30 +01:00
lukasdooo
ac8f69935d GH-502 - Only delete completed events. 2024-02-14 12:29:00 +01:00
Oliver Drotbohm
7e6c1111a2 GH-484 - Let CompletionRegisteringAdvisor forward EventExternalized event. 2024-01-29 21:15:26 +01:00
Oliver Drotbohm
6efcbea3ec GH-475 - Prepare next development iteration. 2024-01-19 21:43:40 +01:00
Oliver Drotbohm
534f1ba628 GH-475 - Release version 1.1.2. 2024-01-19 21:43:40 +01:00
Oliver Drotbohm
c9b42fad55 GH-453 - Polishing. 2024-01-19 21:41:52 +01:00
Oliver Drotbohm
e26d4027f6 GH-464 - Update copyright headers. 2024-01-17 19:47:56 +01:00
Oliver Drotbohm
b90557ba39 GH-459 - Move off deprecated DatabaseDriver.fromDataSource(…). 2024-01-17 16:34:43 +01:00
TAO
199f1711c3 GH-456 - Fix potentially broken debug log output in PersistentApplicationEventMulticaster.
Swapped the ternary operator conditions for the 'message' variable assignment.

Fixes GH-456.
2024-01-16 20:08:13 +01:00
Oliver Drotbohm
bbae486935 GH-454 - Fix event externalization for RabbitMQ.
We now properly wrap the null value returned as a result from the RabbitMQ event externalization into a CompletableFuture. Tightened test case to prevent regressions going forward.
2024-01-16 19:54:31 +01:00
Oliver Drotbohm
6afc00c554 GH-452 - Introduce EventPublicationRepository.findCompletedPublications().
The default EventPublicationRegistry previously erroneously called find*In*completePublications(), i.e. returned incomplete publications when it was supposed to look up the completed ones. To be able to do the latter we need to extend EventPublicationRepository and introduce a query execution for all completed publications.

As we'd normally only chance API in major versions, but the bugfix needing to go into a bugfix release, the new method is introduced as default method rejecting the execution in case a currently existing repository implementation does not implement it. This allows us to adapt the implementations we ship to support the bugfix, but will require other implementations to ship an adapted version. This means we can ship a release that's not breaking assuming one of the official store implementations is used.
2024-01-16 19:50:41 +01:00
Oliver Drotbohm
86a9775e47 GH-444 - Declare most concrete type for EventPublicationRegistry configuration. 2024-01-10 14:49:13 +01:00
Oliver Drotbohm
edaec89ef4 GH-434 - Prepare next development iteration. 2023-12-21 23:28:18 +01:00
Oliver Drotbohm
96cd72ee91 GH-434 - Release version 1.1.1. 2023-12-21 23:28:17 +01:00
Oliver Drotbohm
69ec01ac01 GH-399 - Avoid event publication completion for failed CompletableFutures.
We now explicitly handle CompletableFuture instances returned from transactional event listeners by registering the completion handlers only on success, the debug logging on failure and immediately return the decorated instance.

Previously, a failed CompletableFuture instance would still have the publication marked completed as it doesn't cause any exception being thrown and thus ultimately ending up in the code path that issues the completion.
2023-11-28 17:13:03 +01:00
Oliver Drotbohm
768103fd32 GH-393 - Prepare next development iteration. 2023-11-28 17:09:00 +01:00
Oliver Drotbohm
c6c0c0f500 GH-393 - Release version 1.1.0. 2023-11-24 18:22:06 +01:00
nkolosnjaji
2afa435722 GH-369 - Prefer MongoTemplate.findAndModify(…) over ….updateFirst(…).
Original pull request: GH-380.
2023-11-24 13:28:32 +01:00
Oliver Drotbohm
b4bb541649 GH-372 - Propagate original exception from CompletionRegisteringAdvisor.
We now propagate potentially occurring exceptions in CompletionRegisteringAdvisor to make sure the standard exception handling facilities kick in, both for synchronous and asynchronous listener invocations.

This implies that during republication we need to handle exceptions to make sure that failing synchronous listeners to not prevent the submission of subsequent publications. We currently log such exceptions into error.
2023-11-19 21:58:32 +01:00
Oliver Drotbohm
9f42ae4308 GH-368 - Polishing. 2023-11-14 11:02:21 +01:00
Oliver Drotbohm
80e53accf7 GH-368 - Integration tests. 2023-11-14 11:01:49 +01:00
Benjamin Knauer
74dda2cdae GH-368 - Consider filter handed into IncompleteEventPublications.resubmitIncompletePublications(…).
Original pull request: GH-367.
2023-11-14 11:00:41 +01:00
Oliver Drotbohm
a518707c7e GH-371 - Disable waiting for termination defaulting on Spring Framework 6.1.
We now skip the defaulting to wait of the pool shutdown termination on Spring Framework 6.1, as on that, pools implement Lifecycle and we need to wait for complete shutdown during Lifecycle.stop() already and setting the flag would delay that wait to the actual destruction phase.
2023-11-14 10:16:57 +01:00
Oliver Drotbohm
3692a209d7 GH-364 - Register reflection metadata for ApplicationListenerMethodAdapter.
The maintain general compatibility with Spring Framework 6.0, we issue a few reflective inspections on ApplicationListenerMethodAdapter. To make this work properly in native images, we now register those methods for GraalVM reflection.
2023-11-07 20:35:22 +01:00
Oliver Drotbohm
20a7474f2f GH-358 - Prepare next development iteration. 2023-11-03 09:02:46 +01:00
Oliver Drotbohm
6336e32d54 GH-358 - Release version 1.1.0-RC2. 2023-11-03 09:02:45 +01:00
Oliver Drotbohm
40ab6cecfc GH-357 - Reinstantiate general compatibility with Boot 3.2 / Framework 6.1.
We now gracefully fall back to reflective invocation of the application event listener shouldHandle(…) method if we're not on Spring Framework 6.2. If we are, we invoke the newly introduced method directly.

This allows projects to upgrade to Spring Modulith 1.1 without necessarily upgrading to Boot 3.2.
2023-11-02 14:27:52 +01:00
Oliver Drotbohm
e8898c1da1 GH-344 - Polishing.
Switch to DelegatingEventExternalizer APIs changed to return CompletableFuture. Imports, formatting. Drop dependencies not needed.
2023-11-02 08:22:28 +01:00
Maciej Walkowiak
d95da874bd GH-344 - Support for event externalization into AWS SNS and SQS.
Additional event externalization implementations for AWS SNS and SQS.

Original pull request: GH-350.
2023-11-02 08:22:28 +01:00
Oliver Drotbohm
0ae19fb301 GH-353 - Improvements in internal event externalization APIs.
DelegatingEventExternalizer.externalize(…) flavors now return a CompletableFuture to allow the target APIs to use asynchronous message sending and to transparently return a result from those invocations.
2023-11-01 23:48:06 +01:00
Oliver Drotbohm
e4190c47aa GH-346 - Allow explicit declaration of identifier in @ApplicationModuleListener. 2023-11-01 23:48:04 +01:00
Oliver Drotbohm
e5ca4f7183 GH-349 - Register parameters of methods annotated with @TransactionalEventListener for reflection. 2023-10-27 13:45:25 +02:00
Oliver Drotbohm
576b8f5074 GH-342 - Allow disabling event externalization.
We now expose spring.modulith.events.externalization.enabled that can be set to false to disable the event externalization completely. Useful in test cases, for example.
2023-10-23 12:22:42 +02:00
Oliver Drotbohm
69fd64dbf7 GH-341 - Prepare next development iteration. 2023-10-23 09:12:13 +02:00
Oliver Drotbohm
d4cde409a1 GH-341 - Release version 1.1.0-RC1. 2023-10-23 09:12:13 +02:00
Oliver Drotbohm
7ca64de924 GH-329 - Polish Javadoc. 2023-10-20 18:35:59 +02:00
Oliver Drotbohm
2241ae1960 GH-329 - Upgrade to Spring Boot 3.2 RC1.
Remove workaround of calling ApplicationListenerMethodAdapter.shouldHandle(…) reflectively.
2023-10-20 16:44:19 +02:00
Oliver Drotbohm
1482ba01f5 GH-310 - Revert "Remove time zone from Postgres event publication schema."
This reverts commit 19457cd736. Related ticket: GH-306.
2023-10-16 14:02:14 +02:00
Oliver Drotbohm
db1c2b813e GH-322 - Move @ApplicationModuleListener into ….modulith.events in spring-modulith-events-api. 2023-10-15 17:13:45 +02:00
Oliver Drotbohm
61fa94ad63 GH-303 - Prepare next development iteration. 2023-09-21 23:35:47 +02:00
Oliver Drotbohm
6f5b3c0baa GH-303 - Release version 1.1.0-M1. 2023-09-21 23:35:47 +02:00
Oliver Drotbohm
19457cd736 GH-306 - Remove time zone from Postgres event publication schema. 2023-09-21 23:28:53 +02:00
Oliver Drotbohm
f9f37feda8 GH-294 - Additional integration test for (Completed|Incomplete)EventPublications bean registration. 2023-09-21 12:11:31 +02:00
Oliver Drotbohm
2148328c5d GH-277 - Multicaster now honors listener condition.
We now reflectively invoke ApplicationListenerMethodAdapter.shouldHandle(…) when selecting event listeners to make sure that conditions defined in, for example, @TransactionalEventListener are considered before registering an event publication.
2023-09-21 08:56:30 +02:00