Commit Graph

576 Commits

Author SHA1 Message Date
Oliver Drotbohm
07c5ccf3fe GH-783 - Upgrade examples to jMolecules 2023.1.4. 2024-08-23 12:02:03 +02:00
Oliver Drotbohm
4ae4fdaed3 GH-782 - Upgrade to Spring Framework 6.1.12. 2024-08-23 12:01:20 +02:00
Oliver Drotbohm
337a7301d1 GH-781 - Upgrade to Spring Boot 3.3.3. 2024-08-23 12:00:13 +02:00
Oliver Drotbohm
07f1d5b4f2 GH-780 - Upgrade to Testcontainers 1.17.6. 2024-08-23 11:58:48 +02:00
Lukas Dohmen
0f03df8eac GH-776 - Correct spelling in documentation. 2024-08-23 11:27:30 +02:00
Oliver Drotbohm
2cd51c8d9e GH-765 - Prevent ApplicationModuleInformation from picking up info from nested packages. 2024-08-13 22:08:17 +02:00
Oliver Drotbohm
41bd816f47 GH-762 - Open up ApplicationModules.of(…) to take a DescribedPredicate<? super JavaClass>. 2024-08-13 16:45:38 +02:00
Oliver Drotbohm
1dbce34fb9 GH-757 - Fix test context cache key contributions.
Both ModuleContextCustomizer and ModuleTypeExcludeFilter contribute to the calculation of the context configuration which the Spring Test Context Framework uses to decide whether it's necessary to create new ApplicationContext instances.

Both of them previously used a Supplier<ModuleTestExecution> to calculate equals(…) and hashCode() which -- by definition -- does not result in the same result even when created with identical input. We now rather use the source class instance eventually backing the ModuleTestExecution, as that is the internal cache key in turn.
2024-08-11 11:56:50 -04:00
Oliver Drotbohm
0ba371fba3 GH-755 - Remove performance tests.
The functionality we compare against is only available in 1.3.
2024-08-08 12:10:26 +02:00
Oliver Drotbohm
81fbd71058 GH-755 - Revert to @MockBean. 2024-08-08 12:01:13 +02:00
Oliver Drotbohm
047ae729a2 GH-755 - Avoid superfluous, repeated deserialization in JdbcEventPublication.getEvent(). 2024-08-08 11:46:45 +02:00
Oliver Drotbohm
965c9a480b GH-750 - Optimize publication completion by event and target identifier.
We now additionally guard the completion query by event and target identifier to also only apply to publications that have not been completed yet. This will allow databases to optimize the query plan to apply simple comparisons (the date being null) over complex comparisons (the event payload) to reduce the intermediate results to process further and thus improve performance.
2024-08-06 17:21:45 -04:00
Oliver Drotbohm
73050ed23a GH-746 - Fix observability interception for components declaring event listeners. 2024-07-29 23:47:06 +02:00
Oliver Drotbohm
7ebee3c838 GH-741 - Prepare next development iteration. 2024-07-19 01:11:15 +02:00
Oliver Drotbohm
b58f4ecb92 GH-741 - Release version 1.2.2. 2024-07-19 01:11:14 +02:00
Oliver Drotbohm
0af2ce2a3b GH-738 - Upgrade to Spring Boot 3.3.2. 2024-07-18 23:27:42 +02:00
Oliver Drotbohm
61bcafeaed GH-732 - Only create event publication registry entries for after commit listeners. 2024-07-14 19:23:27 +02:00
Oliver Drotbohm
d3b5f783d0 GH-729 - Upgrade to jMolecules 2023.1.4. 2024-07-12 16:20:44 +02:00
adrien-lesur
947cbb6016 GH-721 - Fix broken link to Spring Data Domain Event publishing. 2024-07-08 22:36:56 +02:00
Eric Haag
640a7379c1 GH-719 - Migrate to Maven Develocity conventions. 2024-07-08 22:24:46 +02:00
Raed
52c937a826 GH-717 - Enable tests that were mistakenly disabled. 2024-07-08 22:15:51 +02:00
Raed
2197321e66 GH-715 - Fix typo in Javadoc. 2024-07-08 22:09:17 +02:00
Oliver Drotbohm
570f347cd8 GH-713 - Polishing. 2024-07-08 17:22:19 +02:00
Cora Iberkleid
b94d13b717 GH-713 - Create aggregating Asciidoc document including all files generated. 2024-07-08 17:21:59 +02:00
Oliver Drotbohm
bd2e4964fe GH-702 - Extract common properties of JDBC EPR test setup. 2024-07-05 11:18:51 +02:00
Oliver Drotbohm
f4203d96b4 GH-700 - Upgrade to latest Develocity setup. 2024-07-05 11:10:22 +02:00
Oliver Drotbohm
62b9e7a092 GH-677 - Prepare next development iteration. 2024-06-21 13:57:05 +02:00
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