Commit Graph

30 Commits

Author SHA1 Message Date
Oliver Drotbohm
7ebee3c838 GH-741 - Prepare next development iteration. 2024-07-19 01:11:15 +02:00
Oliver Drotbohm
b58f4ecb92 GH-741 - Release version 1.2.2. 2024-07-19 01:11:14 +02:00
Oliver Drotbohm
62b9e7a092 GH-677 - Prepare next development iteration. 2024-06-21 13:57:05 +02:00
Oliver Drotbohm
c569a481fd GH-677 - Release version 1.2.1. 2024-06-21 13:57:05 +02:00
Oliver Drotbohm
b37e39d89e GH-605 - Prepare next development iteration. 2024-06-17 21:09:44 +02:00
Oliver Drotbohm
0d74b1b1d0 GH-605 - Release version 1.2.0. 2024-05-24 12:56:39 +02:00
Oliver Drotbohm
742ca82f8b GH-561 - Prepare next development iteration. 2024-04-19 18:56:33 +02:00
Oliver Drotbohm
c8ec877bc7 GH-561 - Release version 1.2.0-RC1. 2024-04-19 18:56:33 +02:00
Oliver Drotbohm
6b839cf6dc GH-525 - Prepare next development iteration. 2024-03-22 11:41:33 +01:00
Oliver Drotbohm
c441fdf535 GH-525 - Release version 1.2.0-M3. 2024-03-22 11:41:33 +01:00
Oliver Drotbohm
60de42bf6c GH-518 - Support for conditions on @ApplicationModuleListener. 2024-03-14 18:07:43 +01:00
Oliver Drotbohm
b73b4ca70a GH-514 - Prepare next development iteration. 2024-02-23 16:54:58 +01:00
Oliver Drotbohm
7315c8a13e GH-514 - Release version 1.2.0-M2. 2024-02-23 16:54:57 +01:00
Oliver Drotbohm
c06a2c915e GH-474 - Prepare next development iteration. 2024-01-19 19:49:09 +01:00
Oliver Drotbohm
6f5886ddef GH-474 - Release version 1.2.0-M1. 2024-01-19 19:49:08 +01:00
Oliver Drotbohm
c32227bdfb GH-463 - Update copyright headers. 2024-01-17 19:45:40 +01:00
Oliver Drotbohm
5bb16e4c93 GH-393 - Prepare next development iteration. 2023-11-24 18:22:06 +01:00
Oliver Drotbohm
c6c0c0f500 GH-393 - Release version 1.1.0. 2023-11-24 18:22:06 +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
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
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
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
9b0062f354 GH-248 - Support to automatically externalize events.
We now allow externalizing application events to a variety of message brokers through the addition of Spring Modulith modules for Kafka, AMQP and JMS to a user project's classpath. Which events shall be externalized and how they're supposed to be routed to the message broker can be configured through either annotations or via a configuration API declared as Spring bean.

In case Jackson is on the classpath, we also add auto-configuration to use a Boot-configured ObjectMapper instance with the corresponding message broker client APIs to properly serialize and deserialize messages to JSON.
2023-09-07 16:29:10 +02:00
Oliver Drotbohm
971a143436 GH-294 - Introduce user API to deal with completed and incomplete event publications.
Introduce a new spring-modulith-events-api artifact to contain types that are supposed to be used by application code to deal with event publications. `EventPublication` was moved into that artifact and got everything non infrastructure related extracted from it's previous incarnation. That in turn has been renamed to `TargetEventPublication`.

`CompletedEventPublications` exposes API to allow purging completed publications either by a given predicate or age (in `Duration`). The interface is implemented by `DefaultEventPublicationRegistry` and thus subject for dependency injection into user code. It primarily delegates to the corresponding methods on `EventPublicationRepository` adapting the given `Duration`s to the `Clock` instance already held internally.

`IncompleteEventPublications` allows triggering the re-submission of incomplete publications by the same criteria as `CEP`. The interface is implemented by `PersistentApplicationEventMulticaster` and this subject for dependency injection into user code.

`EventPublicationRepository` now also allows publications to be deleted by identifiers. The existing implementations have been adapted and batch the requests for every 100 identifiers to prevent a list too large to run into limitations of the underlying data store.

Polished transactional metadata declaration in JPA- and MongoDB-based repository implementations.

Tightened nullability expressions here and there.
2023-09-04 15:24:37 +02:00