Commit Graph

549 Commits

Author SHA1 Message Date
Oliver Drotbohm
c569a481fd GH-677 - Release version 1.2.1. 2024-06-21 13:57:05 +02:00
Oliver Drotbohm
52a6f4fbb3 GH-678 - Upgrade to Spring Boot 3.3.1. 2024-06-21 13:41:52 +02:00
Dimitrios Begnis
2f5fa65d2c GH-673 - Add documentation for Neo4j modules. 2024-06-19 16:26:47 +02:00
Oliver Drotbohm
d36c38f55f GH-665 - Link to Spring Boot's Javadoc. 2024-06-18 15:17:39 +02:00
Oliver Drotbohm
d66259ed49 GH-662 - Fix named interface detection in case of nested packages.
If named interfaces are declared in nested packages, the name detection might accidentally pick up the names declared in child packages. We now deliberately only inspect the base package.
2024-06-18 13:59:19 +02:00
Oliver Drotbohm
8d86615e91 GH-661 - Dependency checks now explicitly skip module-internal dependencies.
As we process a type's entire type hierarchy for dependencies we might discover a foreign module's internal dependencies for modules that declare allowed dependencies explicitly. Explicitly declared dependencies so far solely verified the target being explicitly listed, which, for internal dependencies does not make sense. We now immediately start checking the source and target modules to be equivalent, in which case we can skip any further processing.
2024-06-18 12:30:25 +02:00
Oliver Drotbohm
5555b4d0e1 GH-658 - Upgrade to Github Actions Java 4. 2024-06-17 21:46:18 +02:00
Oliver Drotbohm
4823bbad16 GH-656 - Polishing. 2024-06-17 21:44:27 +02:00
Oliver Drotbohm
702fac54f9 GH-656 - Allow to configure the ApplicationModuleDetectionStrategy via a configuration property.
We now expose a configuration property spring.modulith.detection-strategy that can take either of the two prepared values "direct-sub-packages" (default) or "explicitly-annotated", or a fully qualified class name of the strategy to use.

Removed ApplicationModuleStrategies enum to avoid exposing the enum values as additional implementations. Those are now held as inline lambda expression in the factory methods on ApplicationModuleStrategy. Extracted the lookup of the strategy to use into ApplicationModuleDetectionStrategyLookup for easier testability.
2024-06-17 21:09:47 +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
e1f8be0bfe GH-637 - Enable TraceContext propagation across asynchronous threads.
We're now registering a customizers for both the SimpleAsyncTaskExecutor (used for virtual threads) and the ThreadPoolTaskExecutor to register a ContextPropagatingTaskDecorator.
2024-05-24 11:56:57 +02:00
Oliver Drotbohm
324e82454b GH-636 - Upgrade to Spring Boot 3.3. 2024-05-23 17:22:55 +02:00
Oliver Drotbohm
b395449a2c GH-633 - Enable CI builds for 1.1.x. 2024-05-23 13:21:43 +02:00
Oliver Drotbohm
9a52cbf534 GH-630 - Let JdbcEventPublicationRepository implement BeanClassLoaderAware.
To make sure the event type is loaded via the RestartClassLoader when using Spring Boot Devtools.
2024-05-23 13:15:48 +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
c11198f36d GH-617 - Fix JDBC event deletion implementation.
We now augment the basic query with exactly the number of parameter placeholders as we're handing in as parameters.
2024-05-23 10:20:28 +02:00
Oliver Drotbohm
cffb0a242d GH-587 - Re-establish proper ApplicationModules instance caching.
The previous change unfortunately altered the CacheKey type in a way that it does not result in equal instances for the same set of parameters, primarily because SingletonSupplier does not implement equals(…)/hashCode(). We now resort to include the ModulithMetadata source in the equals(…) / hashCode() calculation rather than the ModulithMetadata instance itself. This also avoids annotation processing during CacheKey instance creation.
2024-05-23 00:23:02 +02:00
Lukas Dohmen
b83119ed5a GH-608 - Polishing in Asciidoctor rendering. 2024-05-22 16:50:39 +02:00
Oliver Drotbohm
47063006d0 GH-614 - Polishing. 2024-05-22 15:40:02 +02:00
Oliver Drotbohm
8a82d5575a GH-615 - Make sure we always place the ModuleEntryInterceptor after the AsyncAnnotationAdvisor.
To properly create spans for the actual method invocation, not the async dispatch.
2024-05-21 23:59:29 +02:00
Oliver Drotbohm
4c4ac0c45e GH-614 - Expose factory method to create a (SpringBoot)ApplicationRuntime.
We now expose ApplicationRuntime.of(ApplicationContext) to create a SpringBootApplicationRuntime as that's needed a lot in integration tests for runtime and observability components.
2024-05-21 23:54:04 +02:00
Oliver Drotbohm
f8283fa644 GH-519 - Improve Postgres default indexes.
We now use a hash index for the serialized event to improve performance.
2024-05-21 09:03:29 +02:00
Oliver Drotbohm
919d565572 GH-612 - Properly nest spans for nested module invocations. 2024-05-21 00:58:40 +02:00
Oliver Drotbohm
e29853fcc7 GH-587 - Avoid repeated lookup of ApplicationModules in ApplicationModulesRuntime. 2024-05-21 00:57:08 +02:00
Oliver Drotbohm
21bd2cef75 GH-587 - ModulithMetadata now exposes all base packages.
Previously, we had a variety of places calculating the overall packages to inspect for types. This is now all consolidated into the ModulithMetadata abstraction exposing them directly.
2024-05-20 19:58:30 +02:00
Oliver Drotbohm
04c1203f65 GH-587 - Additional modulith packages are now considered for application classes. 2024-05-20 19:57:23 +02:00
Oliver Drotbohm
a7145c3b86 GH-605 - Fix repository reference for changelog generator. 2024-05-17 08:35:21 +02:00
Oliver Drotbohm
6130e618d9 GH-603 - Upgrade integration CI builds to Java action 4.0. 2024-05-17 08:17:08 +02:00
Oliver Drotbohm
51c5f0bf42 GH-601 - Support for wildcard references to named interfaces in explicitly defined allowed application module dependencies.
When defining allowed application module dependencies to named interfaces, the asterisk can now be used to allow referencing all named interfaces declared by the target module.
2024-05-16 16:03:14 +02:00
Oliver Drotbohm
e9203ca159 GH-594 - Polishing. 2024-05-16 13:27:45 +02:00
Oliver Drotbohm
3855479c7c GH-595 - Invalid dependency into named interface now gets reported properly. 2024-05-16 12:34:28 +02:00
Oliver Drotbohm
2bf9f797ec GH-594 - Deduplicate violations with the same message.
Moving away from exceptions as carriers for violations.
2024-05-16 12:20:44 +02:00
dowenliu-xyz
551e117113 GH-588 - Fix a spell mistake in docs. 2024-05-14 12:34:29 +02:00
Oliver Drotbohm
4be7626855 GH-584 - Fix configuration property metadata for JSON support in Kafka and RabbitMQ. 2024-05-08 10:33:21 +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
0361503fd6 GH-562 - Move test spring.factories to test sources. 2024-04-23 20:10:17 +02:00
Oliver Drotbohm
8b567937b4 GH-560 - Properly upgrade examples to Boot 3.3 RC1. 2024-04-19 19:05:46 +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
dc4a077a46 GH-558 - Upgrade Spring Modulith examples to jMolecules 2023.1.3. 2024-04-19 17:37:51 +02:00
Oliver Drotbohm
c7bb58d6f9 GH-560 - Upgrade to Spring Boot 3.3 RC1. 2024-04-19 17:37:06 +02:00
Oliver Drotbohm
36ec890de8 GH-550 - Rearrange sections in reference doc.
The exclusion of types from the Application Modules model is now described in the section about the ApplicationModules type already. That general section is now located before the discussion of simple and advanced modules.

The verification section now mentions the behavior for open modules as well.
2024-04-19 17:32:19 +02:00
Oliver Drotbohm
03e152d9ac GH-559 - Upgrade to Lombok 1.18.32. 2024-04-18 21:52:44 +02:00
Oliver Drotbohm
c418de42ed GH-558 - Upgrade to jMolecules 2023.1.3. 2024-04-18 21:51:39 +02:00
Oliver Drotbohm
2667ec626a GH-552 - Upgrade to jGraphT 1.5.2. 2024-04-12 10:36:24 +02:00
Oliver Drotbohm
7fbb67f93e GH-551 - Upgrade to ArchUnit 1.3. 2024-04-12 10:35:38 +02:00
Oliver Drotbohm
6de6f46ada GH-550 - Polishing. 2024-04-10 19:08:58 +02:00
Stephan Harbauer
1dd7238ff7 GH-550 - Add section on how to exclude packages from application module detection. 2024-04-10 19:08:47 +02:00