Commit Graph

354 Commits

Author SHA1 Message Date
Oliver Drotbohm
d14ba59837 GH-331 - Avoid processing infrastructure beans in observability infrastructure.
We now skip infrastructure role beans during the processing of beans that could be subject to inter-module interaction observability. Previously, we could accidentally trigger a dependency cycle if the ModuleTracingBeanPostProcessor triggered the initial creation of AutoConfigurationPackages as that would then trigger the PostProcessor in turn which would try to lookup the ACP bean again to determine whether it should post process that to apply observability.
2023-10-16 13:41:00 +02:00
Oliver Drotbohm
0810d8025e GH-327 - Fix Javadoc. 2023-10-16 09:01:03 +02:00
Oliver Drotbohm
01d8699fff GH-328 - Add mission statement to reference documentation. 2023-10-16 08:40:39 +02:00
Oliver Drotbohm
f93bb39648 GH-327 - Move off of Google's Suppliers.memoize(…). 2023-10-16 08:38:43 +02:00
Oliver Drotbohm
403ed2cd0e GH-326 - Fix ApplicationModule by package name lookup.
Prior to this commit, the lookup for an ApplicationModule would find modules solely depending on the reference string starting with the base package. That means that a module with base package com.acme.foo, a request for com.acme.foobar would've resulted in a positive match, which of course is wrong.

We now match against either the module's base package or against the reference starting with the base package followed by a dot.
2023-10-16 08:36:56 +02:00
Oliver Drotbohm
f949b508a4 GH-304 - Prepare next development iteration. 2023-09-21 23:11:07 +02:00
Oliver Drotbohm
f3e9ce5fa2 GH-304 - Release version 1.0.1. 2023-09-21 23:11:06 +02:00
Oliver Drotbohm
e425eb5719 GH-309 - Upgrade to Spring Boot 3.1.4 and Spring Framework 6.0.12.
Also, examples to jMolecules BOM 2023.1.0.
2023-09-21 23:06:41 +02:00
Oliver Drotbohm
93e9d5489d GH-305 - 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 09:03:31 +02:00
Oliver Drotbohm
5b13bce62d GH-293 - Polishing. 2023-09-04 09:56:19 +02:00
Karl Heinz Marbaise
44c904a670 GH-293 - Project version is not correctly inserted into the documentation.
Original pull request: GH-290.
2023-09-04 09:56:09 +02:00
Oliver Drotbohm
c4b123341a GH-292 - Clarify event republication behavior on restart. 2023-09-04 09:48:37 +02:00
Oliver Drotbohm
5e80df3fb5 GH-280 - Make MomentsProperties usable on AOT.
Introduce a default constructor to prevent the AOT engine from breaking as reported in [0].

[0] https://github.com/spring-projects/spring-framework/issues/31117
2023-08-26 16:38:48 +02:00
Oliver Drotbohm
06c5204266 GH-281 - Update integration builds after Boot releases. 2023-08-25 10:18:47 -07:00
Oliver Drotbohm
48b207ec97 GH-281 - Upgrade to Spring Boot 3.1.3. 2023-08-25 10:17:22 -07:00
Oliver Drotbohm
b61e247db4 GH-274 - Activate CI build for 1.0.x. 2023-08-24 14:38:45 -07:00
Oliver Drotbohm
0cc7c352f8 GH-274 - Prepare next development iteration. 2023-08-24 14:37:38 -07:00
Oliver Drotbohm
6197d35937 GH-274 - Release version 1.0.0. 2023-08-21 06:59:57 -07:00
Oliver Drotbohm
6872734d24 GH-274 - Switch to personal credentials for release deployment. 2023-08-21 06:58:04 -07:00
Oliver Drotbohm
374255672e GH-276 - Upgrade to jMolecules 2023.1.0. 2023-08-18 12:25:14 +02:00
Oliver Drotbohm
8e6d519554 GH-275 - Upgrade to Spring Asciidoctor Backends 0.0.7. 2023-08-18 12:24:32 +02:00
Oliver Drotbohm
941394f2d5 GH-273 - Remove experimental declaration from Scenario. 2023-08-17 17:35:09 +02:00
Oliver Drotbohm
9084ef71ac GH-271 - Remove Spring Modulith Events parent POM from BOM. 2023-08-16 21:49:21 +02:00
Oliver Drotbohm
39ce5346c6 GH-270 - Prepare next development iteration. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
2c5cedd1d1 GH-270 - Release version 1.0.0-RC2. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
9568f29613 GH-267 - Explicitly declared empty allowed dependencies now forbids any dependency.
The default for @ApplicationModule(allowedDependencies) is now a single element list with a dedicated token we recognize as "all dependencies allowed". This allows users to declare an empty array explicitly to disallow any outgoing dependencies for an application module. Previously, such a declaration would have allowed any dependency.
2023-08-15 19:52:02 +02:00
Oliver Drotbohm
cec759af0c GH-268 - Rename actuator endpoint to modulith.
To align with the conventions established by Spring Boot.
2023-08-15 09:30:00 +02:00
Oliver Drotbohm
0bfdb81d91 GH-265 - Use EVENT_PUBLICATION as table name for JPA to be consistent with JDBC. 2023-08-12 07:50:37 +02:00
Oliver Drotbohm
1e1ebb52ff GH-266 - Use event_publication collection for MongoDB event publications. 2023-08-12 07:50:37 +02:00
Oliver Drotbohm
967556d014 GH-264 - Only register EventPublicationRegistry if EventPublicationRepository present.
We now clearly separate between strict configuration, usable via @EnablePersistentDomainEvents and the auto-configuration for EventPublicationRegistry infrastructure. This allows using the core JAR in scenarios, in which no registry functionality is needed.
2023-08-12 07:49:43 +02:00
Yossi Spektor
0b110f70c2 GH-220 - Documentation polish. 2023-08-10 08:37:44 +02:00
Oliver Drotbohm
0de48790d7 GH-261 - Avoid materializing JpaEventPublication to mark it completed.
We now simply issue an update query.
2023-08-10 00:19:35 +02:00
Oliver Drotbohm
1a84ae256f GH-260 - Prepare next development iteration. 2023-08-09 22:29:57 +02:00
Oliver Drotbohm
bf68d74756 GH-260 - Release version 1.0.0-RC1. 2023-08-09 22:29:56 +02:00
Oliver Drotbohm
7a72dc16f6 GH-260 - Upgrade change log configuration to include improvements. 2023-08-09 22:27:13 +02:00
Oliver Drotbohm
31efdb31a2 GH-259 - Rename modulith.events package to modulith.events.core.
Allows us to eventually use the former as user-facing API package in a to-be-introduced API JAR.
2023-08-09 22:05:08 +02:00
Oliver Drotbohm
46127e0fbd GH-260 - Upgrade build plugins to the latest versions. 2023-08-09 21:25:26 +02:00
Oliver Drotbohm
43418b5fe0 GH-246 - Upgrade to ArchUnit 1.1.0.
Related tickets: GH-221.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
290b1c899b GH-257 - Add appendix listing all configuration properties exposed. 2023-08-09 21:21:18 +02:00
Oliver Drotbohm
afe77711f1 GH-212 - Invert default for event republication to false.
This is to accommodate cluster setups and avoid multiple instances from resubmitting outstanding event publications concurrently.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
79e465c10e GH-251 - Improve efficiency of event publication completion.
Changed the EventPublicationRepository interface to allow marking an event as completed without having to materialize it in the first place. This allows us to get rid of CompletableEventPublication. EventPublication not exposes its identifier to make sure the stores can actually store the same id.

Introduced EventPublicationRegistry.deleteCompletedPublicationsOlderThan(Duration) to purge completed event publications before a given point in time.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
22ec81bf0f GH-254 - Update Maven wrapper to 3.9.3. 2023-08-03 09:56:21 +02:00
Oliver Drotbohm
3055212e4b GH-253 - Let @ApplicationModuleTest be meta-annotated with @SpringBootTest.
@ApplicationModuleTest is now meta-annotated with @SpringBootTest. This allows us to remove a couple of declarations that we actually had copied from it (such as the TestContextBootstrapper, the SpringExtension etc.)

The presence of the original annotation allow test-related auto-configuration to inspect @SprignBootTest for particular configuration. For example, we now alias the WebEnvironment to make it configurable for the test execution.
2023-08-03 09:46:42 +02:00
Oliver Drotbohm
d665161c37 GH-252 - Avoid premature initialization of SpringModulithRuntimeAutoConfiguration.
Bean declarations are now entirely static.
2023-08-01 23:35:19 +02:00
Oliver Drotbohm
04187a1706 GH-243 - Add section on how to customize the Clock instance to be used to determine event publication dates. 2023-08-01 16:10:49 +02:00
Oliver Drotbohm
c23c26bd78 GH-228 - Be explicit about which jMolecules ArchUnit rules are executed as part of our verification. 2023-08-01 16:10:41 +02:00
Oliver Drotbohm
7c2e8e4079 GH-247 - Upgrade to jMolecules 2023.0.0. 2023-07-21 17:20:33 +02:00
Oliver Drotbohm
8e2c238425 GH-244 - Upgrade examples to Boot 3.1.2 as well. 2023-07-20 18:11:06 +02:00
Oliver Drotbohm
a4563647a2 GH-221 - Tweak build to avoid Javadoc tool to complain about module arrangement.
The shadowed type of ArchUnit causes the Java 17 Javadoc tool to fail as the type introduces a problem on the module path, which we do not really care about for now.
2023-07-20 18:07:24 +02:00
Oliver Drotbohm
a74352dc4d GH-245 - Move off deprecated API in DocumenterTest. 2023-07-20 16:30:17 +02:00