155 Commits

Author SHA1 Message Date
Oliver Drotbohm
9ea2b24b53 GH-1192 - Migrate code base to jSpecify for nullness verification. 2025-05-28 15:35:34 +02:00
Oliver Drotbohm
d2b22aacfe GH-1208 - Prepare next development iteration. 2025-05-28 14:25:04 +02:00
Oliver Drotbohm
83957916b2 GH-1208 - Release version 1.4.0. 2025-05-26 21:14:04 +02:00
Oliver Drotbohm
73cf1d4576 GH-1155 - Prepare next development iteration. 2025-04-25 13:59:55 +02:00
Oliver Drotbohm
e345c1d476 GH-1155 - Release version 1.4.0-RC1. 2025-04-25 13:59:54 +02:00
Oliver Drotbohm
711c8449fa GH-1146 - Fix identifier comparison in event publications cache key. 2025-04-23 12:12:29 +02:00
Oliver Drotbohm
dc81a743f8 GH-1146 - Improve lookup of event publications in progress.
Instead of iterating over all publications currently in progress we now use a map to look them up by key.

Baseline
--------
Benchmark                        Mode  Cnt        Score      Error  Units
….inProgressPublicationsAccess  thrpt   50      312,155 ±    7,428  ops/s

Fixed
-----
Benchmark                        Mode  Cnt        Score      Error  Units
….inProgressPublicationsAccess  thrpt   50  2328732,504 ± 7809,092  ops/s
2025-04-18 17:13:21 +02:00
Oliver Drotbohm
47fa1fb056 GH-1130 - Polishing.
Simplify output to one line. Formatting, authorship.
2025-04-01 14:21:25 +02:00
조상준
12811a7f37 GH-1130 - Add debug log describing selected externalized events.
Original pull request: GH-1135
Signed-off-by: 조상준 <juncho12011201@gmail.com>
2025-04-01 14:20:53 +02:00
Oliver Drotbohm
fa946c148b GH-1122 - Consolidate automatic module names. 2025-03-22 15:17:47 +01:00
Oliver Drotbohm
6a98b3624e GH-1105 - Prepare next development iteration. 2025-03-21 11:52:23 +01:00
Oliver Drotbohm
48ecc12337 GH-1105 - Release version 1.4.0-M3. 2025-03-21 11:52:23 +01:00
Oliver Drotbohm
f0016c8164 GH-1094 - Prepare next development iteration. 2025-02-25 10:40:49 +01:00
Oliver Drotbohm
95acf1fcac GH-1094 - Release version 1.4.0-M2. 2025-02-25 10:40:48 +01:00
Oliver Drotbohm
c145ba5a07 GH-1051 - Only unregister resubmitted event publication in case of errors.
Before this commit the code resubmitting incomplete event publications unregistered them independently of whether they succeeded or not. We now only do that for failed submissions as an error here indicates a failure to *submit* the publication. As the execution is likely performed asynchronously, a successful hand-off does not implicate the publication being completely processed.
2025-02-23 13:13:24 +01:00
Oliver Drotbohm
a9365ed257 GH-1056 - Switch to object identity comparison when looking up event publications.
We now rather use an object identity comparison in TargetEventPublication.isAssociatedWith(…) instead of an ….equals(…) as that would return the wrong publication for identical events.
2025-02-21 22:55:12 +01:00
Oliver Drotbohm
4090499634 GH-1027 - Prepare next development iteration. 2025-01-23 22:16:36 +01:00
Oliver Drotbohm
36370ae31a GH-1027 - Release version 1.4.0-M1. 2025-01-23 22:16:36 +01:00
Oliver Drotbohm
7fabc528b4 GH-1010 - Update copyright declarations to include 2025. 2025-01-06 16:58:45 +01:00
Oliver Drotbohm
f8728fc009 GH-955 - Prepare next development iteration. 2024-11-21 20:13:56 +01:00
Oliver Drotbohm
6f6597e163 GH-955 - Release version 1.3.0. 2024-11-21 20:13:55 +01:00
Oliver Drotbohm
b542c03b7d GH-870 - Fix Javadoc in PersistentApplicationEventMulticaster. 2024-11-21 12:59:41 +01:00
Oliver Drotbohm
55e4249d18 GH-937 - Fix logger creation in EventExternalizationSupport. 2024-11-18 16:23:41 +01:00
Oliver Drotbohm
3d35d48d18 GH-912 - Prepare next development iteration. 2024-10-26 15:58:59 +02:00
Oliver Drotbohm
05c5550312 GH-912 - Release version 1.3.0-RC1. 2024-10-26 15:58:59 +02:00
Cora Iberkleid
179e4acf86 GH-806 - Add archiving completion mode.
We now support an archiving completion mode that copies the entry to be completed into a dedicated archive to retain the completed event publications but also keep the main publication store small for more efficient data access.

Co-authored-by: Oliver Drotbohm <oliver.drotbohm@broadcom.com>
2024-10-25 22:03:23 +02:00
Cora Iberkleid
80f6086034 GH-806 - Remove use of Lombok.
Co-authored-by: Oliver Drotbohm <oliver.drotbohm@broadcom.com>
2024-10-25 22:03:23 +02:00
Oliver Drotbohm
29bc84cd0b GH-891 - DefaultEventPublicationRegistry now properly unregisters in-progress publication on failed resubmission.
DefaultEventPublicationRegistry.processIncompletePublications(…) now actively unregisters the publication from being considered in progress after completion (either successful or failed). While CompletionRegisteringAdvisor should take care of that on the target listeners we now leave the publications in progress in consistent state independent of the actual target being invoked. Decrease log level of the failed listener invocation as it's not unusual for the listener to fail.

Improved PublicationsInProgress by switching to a concurrent map internally to avoid ConcurrentModificationExceptions in case of multiple threads.
2024-10-21 13:49:29 +02:00
Oliver Drotbohm
d5477d1423 GH-881 - Support for SpEL expression in routing targets.
We now support SpEL expressions in routing targets for events to be externalized. Introduced a BrokerRouting.getTarget(Object) overload to allow access to the event object in the SpEL expression. To support those, event externalizers will have to call that method where they previously called ….getTarget().
2024-10-18 21:01:28 +02:00
Andreas Ahlenstorf
2ba1785bfb GH-884 - Fix typo in package name in configuration metadata. 2024-10-18 16:56:32 +02:00
Oliver Drotbohm
6da5d1dafb GH-874 - Add LICENSE and NOTICE files to binaries. 2024-10-14 22:14:51 +02:00
Oliver Drotbohm
9d249961c3 GH-859 - Avoid creating a transaction for event externalization.
We now use the ability to override transaction propagation introduce for GH-858 to tweak the application module listener declaration on DelegatingEventListener so that we do not create a transaction by default. This avoids a database connection being acquired as the listener is very likely to interact with a non-transactional resource anyway.
2024-10-06 12:54:17 +02:00
Oliver Drotbohm
0c2f79a56d GH-803 - Prepare next development iteration. 2024-09-20 23:26:04 +02:00
Oliver Drotbohm
a3ed03cff3 GH-803 - Release version 1.3.0-M3. 2024-09-20 23:26:03 +02:00
Oliver Drotbohm
db4ab8f55d GH-823 - Move spring.modulith.republish-outstanding-events-on-restart into spring.modulith.events namespace. 2024-09-13 17:51:22 +02:00
Oliver Drotbohm
cd0b5cf5c3 GH-748 - Allow publication completion to delete database entries.
We now expose a spring.modulith.events.completion-mode property, defaulting the previous behavior to a value of UPDATE. The property can also be configured to DELETE, which will cause the persistence implementations to flip to removing the database entries for event publications instead of setting the completion date.
2024-08-27 21:52:53 +02:00
Oliver Drotbohm
65178e42de GH-785 - Prepare next development iteration. 2024-08-23 12:36:24 +02:00
Oliver Drotbohm
fbff89425f GH-785 - Release version 1.3.0-M2. 2024-08-23 12:36:24 +02:00
Oliver Drotbohm
9a908ee275 GH-754 - Rename EventPublication.isPublicationCompleted() to ….isCompleted(). 2024-08-07 21:25:58 +02:00
Oliver Drotbohm
06f4cc70b0 GH-258 - Optimize publication completion to issue by-id query.
DefaultEventPublicationRegistry now tracks the event publications currently in progress, so that the completion step can use the database identifier to issue an update statement solely based on that.
2024-08-06 21:24:09 +02:00
Oliver Drotbohm
1e3a61838e GH-742 - Prepare next development iteration. 2024-07-19 01:58:03 +02:00
Oliver Drotbohm
9bf8a70c9f GH-742 - Release version 1.3.0-M1. 2024-07-19 01:58:03 +02:00
Oliver Drotbohm
6906aa0ea4 GH-726 - Only create event publication registry entries for after commit listeners. 2024-07-14 19:36:43 +02:00
Oliver Drotbohm
1aef1b6191 GH-605 - Prepare next development iteration. 2024-05-24 12:56:39 +02:00
Oliver Drotbohm
0d74b1b1d0 GH-605 - Release version 1.2.0. 2024-05-24 12:56:39 +02:00
Oliver Drotbohm
5780ae044b GH-627 - Improve repository interaction in DefaultEventPublicationRegistry.
DefaultEventPublicationRegistry is now directly invoking the corresponding repository to delete events older than a certain duration.
2024-05-23 10:21:07 +02:00
Oliver Drotbohm
1e79109af9 GH-583 - java.lang.boolean -> java.lang.Boolean in configuration property metadata. 2024-05-08 10:23:42 +02:00
Benjamin Knauer
32f4cbca4d GH-549 - Use error log in PersistentApplicationEventMulticaster if listener not found.
Related pull request: GH-548.
2024-04-29 08:34:51 +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