Commit Graph

476 Commits

Author SHA1 Message Date
Oliver Drotbohm
7315c8a13e GH-514 - Release version 1.2.0-M2. 2024-02-23 16:54:57 +01:00
Oliver Drotbohm
09da2a9608 GH-511 - Upgrade build plugins to the latest versions. 2024-02-23 14:29:09 +01:00
Oliver Drotbohm
ef7f114866 GH-510 - Upgrade to Spring Boot 3.3 M2.
Explicitly exclude Reactor Core to avoid the Neo4j reactive auto-configuration kicking in, now unconditionally registering a reactive transaction manager causing simple @Transactional declarations to break as two transaction manager beans are present.

Also upgrade to Spring Framework 6.1.4 for Javadoc reference.
2024-02-23 14:27:39 +01:00
Lukas Dohmen
d325c83736 GH-508 - Fix parameter name to match Javadoc. 2024-02-23 11:44:52 +01:00
Oliver Drotbohm
840a1b61b7 GH-403 - Polishing.
Added indexes for HSQLDB (after fix for GH-507). Removed by-listener index for MySQL as it would not be used anyway. Polished index names. Disable Spring Boot banners in tests.

Original pull request: GH-411.
2024-02-20 12:57:04 +01:00
Maciej Walkowiak
f440af943b GH-403 - Add database indexes in schema files.
Original pull request: GH-411.
2024-02-20 12:53:48 +01:00
Oliver Drotbohm
aa4b34c396 GH-507 - Improve database schema initialization for event publications.
We now use ResourceDatabasePopulator to execute the schema files creating the infrastructure for the event publication registry. This makes sure that the statements in those files are executed individually.

Related ticket: GH-403.
2024-02-20 12:53:47 +01:00
Oliver Drotbohm
864baac3c2 GH-501 - Make Micrometer Tracing a mandatory dependency of the observability module.
ModuleObservabilityAutoConfiguration strongly depends on said module and there's no way to make it optionally depending on that.
2024-02-19 13:37:19 +01:00
josroseboom
e1e9b237c8 GH-490 - Use Types constant to decide if a type is an entity. 2024-02-14 16:36:15 +01:00
Lukas Dohmen
a142618394 GH-488 - Remove deprecated ApplicationModuleListener from example. 2024-02-14 16:30:57 +01:00
Stefano Cordio
b40b45379e GH-499 - Fixes and improvements for Fundamentals section. 2024-02-14 15:19:05 +01:00
Oliver Drotbohm
84a4453281 GH-498 - Prevent configuration properties from being proxied for observability.
We now avoid proxying configuration properties in the BeanPostProcessor that creates tracing proxies.
2024-02-14 11:30:24 +01:00
Oliver Drotbohm
e3f84279fd GH-497 - Upgrade to Gradle Enterprise Maven extension 1.20.1. 2024-02-09 12:48:03 +01:00
Oliver Drotbohm
4bf1b4bdad GH-496 - Upgrade Maven Flatten Plugin to 1.6.0. 2024-02-09 12:47:02 +01:00
Oliver Drotbohm
43e479004d GH-491 - Polishing. 2024-02-09 12:46:35 +01:00
lukasdooo
5efc7e01f0 GH-491 - Only delete completed events. 2024-02-09 12:46:23 +01:00
Eric Haag
0c11395c76 GH-479 - Update Revved up by Develocity badge. 2024-01-30 17:29:53 +01:00
Oliver Drotbohm
c5f73e675d GH-483 - Let CompletionRegisteringAdvisor forward EventExternalized event. 2024-01-29 18:42:55 +01:00
Oliver Drotbohm
6770526cac GH-480 - Upgrade GitHub actions checkout action to v4. 2024-01-29 18:33:22 +01:00
Oliver Drotbohm
232cb3c9ec GH-476 - Move off legacy Structurizr PlantUML generation. 2024-01-21 12:23:29 +01:00
Oliver Drotbohm
c06a2c915e GH-474 - Prepare next development iteration. 2024-01-19 19:49:09 +01:00
Oliver Drotbohm
6f5886ddef GH-474 - Release version 1.2.0-M1. 2024-01-19 19:49:08 +01:00
Oliver Drotbohm
5ed4635c68 GH-457 - Upgrade to Spring Boot 3.3 M1.
Also, Spring Framework 6.1.3.
2024-01-19 19:43:24 +01:00
Roger Jäggi
dbc8ab442c GH-469 - Add missing events-aws-* modules to BOM.
Adds spring-modulith-events-aws-sns and spring-modulith-events-aws-sqs modules to the project BOM.
2024-01-19 12:47:44 +01:00
Oliver Drotbohm
c32227bdfb GH-463 - Update copyright headers. 2024-01-17 19:45:40 +01:00
Oliver Drotbohm
72762faf4d GH-462 - Upgrade to latest Structurizr.
Core 1.18 -> 1.29
Export 1.8.3 -> 1.19.0
2024-01-17 18:03:32 +01:00
Oliver Drotbohm
3486b119d9 GH-461 - Explicitly use clean verify for integration builds.
To make sure we always use fresh dependencies.
2024-01-17 17:08:21 +01:00
Oliver Drotbohm
6905fdd8ae GH-458 - Move off deprecated DatabaseDriver.fromDataSource(…). 2024-01-17 16:32:58 +01:00
Oliver Drotbohm
48aa0b246a GH-406 - Improve detection of AOT types generated by Spring.
We now guard the annotation predicate for @Generated behind a classpath check to avoid a NoClassDefFoundError on previous versions of Spring Framework.
2024-01-17 16:30:40 +01:00
Oliver Drotbohm
ac9ba52696 GH-457 - Upgrade to Spring Boot 3.3 snapshots. 2024-01-17 16:30:40 +01:00
Oliver Drotbohm
c4e6e8613d GH-451 - Polishing. 2024-01-16 20:18:00 +01:00
TAO
16cd708adf GH-435 - Fix potentially broken debug log output in PersistentApplicationEventMulticaster.
Swapped the ternary operator conditions for the 'message' variable assignment.

Fixes GH-435.
2024-01-16 20:06:18 +01:00
Oliver Drotbohm
a85a788ad2 GH-438 - Fix event externalization for RabbitMQ.
We now properly wrap the null value returned as a result from the RabbitMQ event externalization into a CompletableFuture. Tightened test case to prevent regressions going forward.
2024-01-16 19:16:36 +01:00
Oliver Drotbohm
1e71649073 GH-449 - Guard against AutoConfiguration- and EntityScanPackages bean definitions not having any constructor argument defined. 2024-01-16 18:09:34 +01:00
Oliver Drotbohm
dd6bb85e94 GH-451 - Introduce EventPublicationRepository.findCompletedPublications().
The default EventPublicationRegistry previously erroneously called find*In*completePublications(), i.e. returned incomplete publications when it was supposed to look up the completed ones. To be able to do the latter we need to extend EventPublicationRepository and introduce a query execution for all completed publications.

As we'd normally only chance API in major versions, but the bugfix needing to go into a bugfix release, the new method is introduced as default method rejecting the execution in case a currently existing repository implementation does not implement it. This allows us to adapt the implementations we ship to support the bugfix, but will require other implementations to ship an adapted version. This means we can ship a release that's not breaking assuming one of the official store implementations is used.
2024-01-16 18:09:26 +01:00
Oliver Drotbohm
2f96c75377 GH-442 - Fix invalid reference in event externalization reference docs. 2024-01-10 15:15:45 +01:00
Oliver Drotbohm
47a70f46f6 GH-443 - Polishing. 2024-01-10 14:46:50 +01:00
Oliver Drotbohm
31dfa45924 GH-443 - Declare most concrete type for EventPublicationRegistry configuration. 2024-01-10 14:46:42 +01:00
Oliver Drotbohm
88f65f18cb GH-428 - Avoid duplicate inclusions of modules in test executions. 2023-12-21 22:19:36 +01:00
Oliver Drotbohm
b9f3fc2263 GH-418 - Include JSR 303 ConstraintValidator implementations in bootstrap dependency analysis.
Spring Boot configures Hibernate Validator in a way that the latter looks up the components it needs to instantiate via the Spring container. That in turn then creates prototype instances of the types requested. This means, implementations of e.g. ConstraintValidator do not need to be explicitly marked as Spring beans, but could still declare dependencies to other Spring beans. If such a dependency crosses a module boundary, we currently fail to detect that implicitly established module dependency.

This is now fixed by considering ConstraintValidator implementations Spring beans implicitly in out bootstrap dependency analysis.
2023-12-21 18:09:29 +01:00
Oliver Drotbohm
b389d5589a GH-420 - Update compatibility build. 2023-12-21 14:23:26 +01:00
Oliver Drotbohm
1cef673653 GH-422 - Upgrade to jMolecules 2023.1.1. 2023-12-21 14:14:50 +01:00
Oliver Drotbohm
61fc854b99 GH-421 - Upgrade to ArchUnit 1.2.1. 2023-12-21 14:14:50 +01:00
Oliver Drotbohm
ee1b0ded88 GH-420 - Upgrade Spring Boot 3.2.1. 2023-12-21 14:14:47 +01:00
Oliver Drotbohm
d9c3223ca0 GH-419 - Upgrade to Spring Cloud AWS 3.1. 2023-12-21 14:09:29 +01:00
Oliver Drotbohm
c1f5630a72 GH-406 - Improving the detection of Spring AOT classes.
We now inspect the classes for the newly introduced Spring AOT @Generated annotation instead of a name containing a double underscore.
2023-12-08 22:15:29 +01:00
Oliver Drotbohm
4043b2edee GH-410 - Upgrade to Spring Framework 6.1.2 snapshots. 2023-12-08 22:12:17 +01:00
Oliver Drotbohm
e7b531e061 GH-406 - Ignore Spring AOT generated types in architecture model.
We now explicitly exclude classes generated by Spring AOT in the architectural model. For technical reasons, they might introduce dependencies to application components considered module internals otherwise. Also, proxies generated do not need to be considered either.
2023-12-06 14:17:43 +01:00
Oliver Drotbohm
da43c72828 GH-395 - Avoid event publication completion for failed CompletableFutures.
We now explicitly handle CompletableFuture instances returned from transactional event listeners by registering the completion handlers only on success, the debug logging on failure and immediately return the decorated instance.

Previously, a failed CompletableFuture instance would still have the publication marked completed as it doesn't cause any exception being thrown and thus ultimately ending up in the code path that issues the completion.
2023-11-28 15:27:17 +01:00
Oliver Drotbohm
5bb16e4c93 GH-393 - Prepare next development iteration. 2023-11-24 18:22:06 +01:00