Commit Graph

319 Commits

Author SHA1 Message Date
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
Oliver Drotbohm
9fe114387a GH-221 - Temporarily shadow ArchUnit's Location type.
It includes the fix submitted for TNG/ArchUnit#1131. To be removed once we can upgrade to a released version of the fix.
2023-07-20 16:26:32 +02:00
Oliver Drotbohm
32b689dab8 GH-244 - Upgrade to Spring Boot 3.1.2.
Updated integration CI build version matrix as well.
2023-07-20 15:09:43 +02:00
Oliver Drotbohm
29b78a447e GH-206 - Polishing.
Javadoc in CompletableEventPublication.
2023-07-19 17:16:53 +02:00
Oliver Drotbohm
303a6802d8 GH-206 - Event Publication Registry now uses custom Clock instance if configured.
We now consider a user defined Clock bean in the application context to obtain the Instant to use as publication date for event publications.
2023-07-19 17:16:20 +02:00
Oliver Drotbohm
77bfc48ebe GH-241 - Enable CI builds for hacking branches. 2023-07-18 22:35:12 +02:00
Oliver Drotbohm
4fd17a80eb GH-239 - Polishing. 2023-07-18 19:03:15 +02:00
Oliver Drotbohm
2270ff39ec GH-240 - Republication of outstanding events can now be disabled.
Via the spring.modulith.republish-outstanding-events-on-restart (boolean) property.
2023-07-17 13:35:45 +02:00
Oliver Drotbohm
ff32c609fc GH-239 - Removed workaround after the downstream issue has been fixed in Spring Framework.
Related ticket: GH-186, spring-projects/spring-framework#30399.
2023-07-17 13:15:50 +02:00
Simon Verhoeven
0e879640ef GH-236 - Code fixes in Introducing Spring Modulith document.
Replaced the deprecated matchingMapped with matching, and adapted the way the orderId is read from the event.
2023-07-10 16:51:57 +02:00
Oliver Drotbohm
0e6d6ab303 GH-237 - Polishing. 2023-07-10 15:38:16 +02:00
Oliver Drotbohm
289dd8b6ab GH-237 - Core starter now references the Spring Boot Starter explicitly.
As recommended in the Spring Boot reference documentation [0].

[0] https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#features.developing-auto-configuration.custom-starter.starter-module
2023-07-10 15:38:05 +02:00
Oliver Drotbohm
f8da2e86a8 GH-232 - Improve configuration property metadata in Event Publication Registry. 2023-07-05 17:34:23 +02:00
Oliver Drotbohm
fd478cbed5 GH-231 - Fix typo in property controlling the MongoDB Event Publication Registry's default transaction management. 2023-07-05 14:13:52 +02:00
Oliver Drotbohm
fb839cb8a5 GH-230 - Caches in ApplicationModules and ArchitecturallyEvidentType are now ConcurrentHashMaps. 2023-07-05 13:56:01 +02:00
Oliver Drotbohm
547b6091f0 GH-229 - ApplicationModuleExporter can now write output to a file. 2023-07-05 13:54:45 +02:00
Oliver Drotbohm
60dad66637 GH-224 - Improve documentation of our examples.
Added a readme to briefly describe what's contained in the examples. Added Maven Wrapper to all example projects.

Limit the dependencies of the JDBC based example to sole Spring JDBC (dropping the Spring Data integration as it's not needed for the example. Remove unused, JPA-related property
2023-07-05 13:52:56 +02:00
Oliver Drotbohm
dc1ed87a0e GH-227 - Polishing.
Tightened test cases for the ApplicationModuleExporter.
2023-06-30 17:57:54 +02:00
Oliver Drotbohm
9bfcf71a5d GH-227 - ApplicationModulesExporter now writes JSON containing named interfaces. 2023-06-30 17:29:56 +02:00
Oliver Drotbohm
a3ed26ea08 GH-226 - Introduce dedicated CI build for pull requests.
That new build skips the attempt to deploy artifacts to Artifactory.
2023-06-30 17:13:47 +02:00
Oliver Drotbohm
5e2da724da GH-199 - Prepare next development iteration. 2023-06-23 12:55:10 +02:00
Oliver Drotbohm
a74c4e582d GH-199 - Release version 1.0.0-M1. 2023-06-23 12:55:09 +02:00
Oliver Drotbohm
b525d925ef GH-219 - Upgrade to Spring Boot 3.1.1. 2023-06-23 12:53:47 +02:00
Oliver Drotbohm
676ee3f0e9 GH-217 - Fix Framework snapshot versions for compatibility tests.
Temporarily run Boot 3.2 snapshot compatibility tests with Framework 6.1 snapshots explicitly.
2023-06-23 12:49:06 +02:00
Oliver Drotbohm
a915f76422 GH-217 - Upgrade CI integration builds after recent releases. 2023-06-23 12:49:06 +02:00
Yossi Spektor
85ce443ce5 GH-213 - Specify proper transactional propagation type in docs.
The default propagation type of @Transactional is Propagation.REQUIRED. That, however would reuse the already running committed transaction which is not the correct behavior.

Related ticket: #80.
2023-06-23 12:49:06 +02:00
Oliver Drotbohm
5dfffa2244 GH-216 - Forward an ApplicationContext's ExecutorService to Scenario instances by default.
We now register a default customizer on the Scenario instances created to pick up an ExecutorService defined in the ApplicationContext so that customizations made to that are considered in the test execution.
2023-06-23 12:49:06 +02:00
Oliver Drotbohm
fb8f12fd98 GH-209 - Polishing.
A few more comments. Test dependency instead of the core one to include the subsequently shown API.
2023-06-23 12:49:06 +02:00
Tom Hombergs
85655c2acd GH-209 - Update the README with a complete pom.xml snippet to get started. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
e51262d462 GH-211 - Rename actuator to application-modules. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
516c48dc07 GH-208 - Switch to CopyOnWriteArrayList for DefaultPublishedEvents. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
4cdf14d241 GH-198 - Upgrade to Spring Boot 3.1. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
0dd2200302 GH-195 - Unnest test cases to make sure we run the right profiles.
Remove the nesting of the test classes as they will be executed without profiles activated.
2023-06-23 12:49:06 +02:00
Oliver Drotbohm
068916aa54 GH-195 - Remove support for legacy spring.modulith.jdbc-… namespace in JDBC-based event support. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
3d186062f1 GH-200 - Group starters under single build module. 2023-06-23 12:49:06 +02:00
Oliver Drotbohm
f0fb242b5b GH-189 - Better artifact names for example projects. 2023-06-23 12:49:06 +02:00