Commit Graph

300 Commits

Author SHA1 Message Date
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
Oliver Drotbohm
d7ef7c9dea GH-198 - Upgrade to Spring Boot 3.1 snapshots.
Switch verification of mock beans as Mockito 5.3.0 uses a different MockMaker by default that doesn't add the explicit interface we have previously checked for.

Remove obsolete init- and destroy method declarations from service bean definitions in examples.
2023-05-02 14:32:41 +02:00
Oliver Drotbohm
596e8828a2 GH-197 - Promote project out of experimental status.
Set version number to 1.0.0-SNAPSHOT. New group id is org.springframework.modulith. Also adapt links to new project home.
2023-05-02 14:32:32 +02:00
Oliver Drotbohm
60ce7da56e GH-189 - Prepare next development iteration. 2023-05-02 12:28:30 +02:00
Oliver Drotbohm
9d1180017e GH-189 - Release version 0.6.0. 2023-05-02 12:28:29 +02:00
Oliver Drotbohm
594c22a4c8 GH-181 - Create dedicated submodule for examples.
Move already existing example underneath that. Added examples for JDBC- and MongoDB-based event publication registry setups.
2023-05-01 22:44:54 +02:00
Oliver Drotbohm
94093a3081 GH-175 - More defensive auto-configuration of MongoDB transactions.
We now opt out of defining bean definitions for MongoTransactionManager and TransactionTemplate if user defined. We also make sure to run before the EnableTransactionManagementConfiguration to make sure that will see our auto-configured MongoTransactionManager.
2023-05-01 22:30:29 +02:00
Oliver Drotbohm
c46b9b958d GH-196 - Upgrade to Hibernate 6.2.2 for JPA event publication registry tests. 2023-05-01 21:56:54 +02:00
Oliver Drotbohm
f0c38e1085 GH-194 - Fix combined condition to enable JDBC database initialization. 2023-05-01 21:56:54 +02:00
Oliver Drotbohm
0fbd776239 GH-194 - Switch to spring.modulith.events.jdbc.… namspace for data initialization properties.
The legacy ones are still supported but the data initialization properties have been moved to a new spring.modulith.events.jdbc.… namespace.
2023-05-01 21:33:49 +02:00
Oliver Drotbohm
646722beaf GH-175 - Auto-configure transactions for MongoDB by default.
As the Event Publication registry only works in transactional environments, we should enable them for MongoDB by default. This will require a replica setup for the MongoDB instance the application interacts with.
2023-05-01 21:28:08 +02:00
Oliver Drotbohm
6dabfb425b GH-191 - Prevent premature access of ApplicationContext from ParameterResolver implementations.
We now avoid accessing the ApplicationContext from a BeforeAllCallback as this might cause the context initialization before other extensions had time to kick in.
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
c111e41f2b GH-189 - Upgrade build plugins to latest versions. 2023-04-30 22:35:14 +02:00
Oliver Drotbohm
4656f82089 GH-187 - Do not include non-exposed Spring beans that implement interfaces in Application Module Canvas by default.
We now properly check whether one of a Spring bean's implemented interfaces is exposed by the module before including it in the default rendering of the Application Module Canvas.
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
0b6dccf334 GH-190 - Introduce @EnableScenarios.
The dedicated annotation allows using Scenario as test parameter in @SpringBootTest-based integration tests, too.

ScenarioParameterResolver now throws a better error message if a TransactionTemplate bean is missing from the ApplicationContext.
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
c9729bded0 GH-186 - Workaround for invalid application listener matching in AbstractApplicationEventMulticaster.
AbstractApplicationEventMulticaster.supportsEvent(…) currently doesn't properly match unresolved, generic ApplicationEvents (see [0]). We now work around this problem by additionally matching the raw event types in a custom override of supportsEvent(…).

[0] https://github.com/spring-projects/spring-framework/issues/30399
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
b3b06614f9 GH-180 - Update to Spring Framework 6.0.8 for Javadoc references. 2023-04-30 22:35:14 +02:00
Oliver Drotbohm
70ed1678c2 GH-188 - Upgrade to jMolecules BOM 2022.3.0. 2023-04-30 22:35:14 +02:00
Oliver Drotbohm
16bc4b3a60 GH-192 - Add default component groupings for jMolecules architecture abstractions.
We now register default groupings for the architectural abstractions [0] in case they are available on the classpath but still fall back to the standard Spring Framework ones if not. In other words, if you e.g. use the jmolecules-hexagonal-architecture ones, types and packages annotated with @Port will cause the affected types to appear under a "Ports" section in the "Spring components" row in the Application Module Canvas.

[0] https://github.com/xmolecules/jmolecules#available-libraries-1
2023-04-30 22:35:14 +02:00
Oliver Drotbohm
3c52dbd0b3 GH-188 - Upgrade to jMolecules 2022.3.0 snapshots. 2023-04-28 20:23:40 +02:00