Commit Graph

95 Commits

Author SHA1 Message Date
Oliver Drotbohm
dab378aaeb GH-978 - Improve compatibility matrix. 2024-12-06 13:26:36 +01:00
Oliver Drotbohm
b71d289503 GH-978 - Add Spring Boot compatibility matrix to reference documentation. 2024-12-06 13:26:36 +01:00
Oliver Drotbohm
3b397ca397 GH-951 - Fix sample code in fundamentals section.\n\nFixes GH-951. 2024-11-21 12:56:21 +01:00
Raja Kolli
0e10942533 GH-940 - Fix typo in reference documentation.
Fixes GH-940.
2024-11-18 16:38:32 +01:00
Oliver Drotbohm
e9e56733bb GH-910 - Fix icons and coloring in fundamentals section of reference docs. 2024-10-25 20:12:48 +02:00
Andrey Antipov
591bd285ec GH-887 - Fix Kotlin example in fundamentals section. 2024-10-18 16:47:56 +02:00
Oliver Drotbohm
99870035de GH-875 - Mention test starter in testing reference documentation chapter. 2024-10-14 17:33:55 +02:00
Oliver Drotbohm
61a75150b3 GH-841 - Fix artifact listing in reference documentation. 2024-09-24 11:37:16 +02:00
Oliver Drotbohm
680c7500bf GH-821 - Fix reference docs on event republication on startup defaults. 2024-09-13 17:39:40 +02:00
Nils Breunese
2ae6e6a56a GH-814 - Fix and improve Kotlin code examples in reference documentation. 2024-09-12 16:41:05 +02:00
K. Siva Prasad Reddy
498f72d5dc GH-795 - Documentation polishing. 2024-09-04 14:39:10 +02:00
Lukas Dohmen
0f03df8eac GH-776 - Correct spelling in documentation. 2024-08-23 11:27:30 +02:00
adrien-lesur
947cbb6016 GH-721 - Fix broken link to Spring Data Domain Event publishing. 2024-07-08 22:36:56 +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
Dimitrios Begnis
2f5fa65d2c GH-673 - Add documentation for Neo4j modules. 2024-06-19 16:26:47 +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
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
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
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
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
sant0s
d9bbd7ca45 GH-540 - Improve reference documentation. 2024-03-28 11:36:12 +01:00
Oliver Drotbohm
1949c415c4 GH-528 - Add section on @Modulithic to reference documentation. 2024-03-19 15:51:51 +01:00
emanuel.trandafir
3d68f1a588 GH-521 - Improve reference docs.
Making the starters section more visible. Fixed links related to testing.
2024-03-05 19:41:28 +01:00
Oliver Drotbohm
5f7e6a2479 GH-522 - Support for package info types.
Introduce @PackageInfo annotation to allow marking a types as alternative to Java's native package-info.java so that annotation lookups on a JavaPackage will also find annotations placed on that type. Useful to declare package scoped metadata like @ApplicationModule and @NamedInterface for languages that do not support packages well enough (read: Kotlin).
2024-03-05 09:55:34 +01:00
Oliver Drotbohm
f3c111f769 GH-284 - Support for open application modules.
Application modules can now be declared as open, which causes internal components being exposed for access by other modules.
2024-02-29 12:58:49 +01:00
Stefano Cordio
b40b45379e GH-499 - Fixes and improvements for Fundamentals section. 2024-02-14 15:19:05 +01:00
Oliver Drotbohm
2f96c75377 GH-442 - Fix invalid reference in event externalization reference docs. 2024-01-10 15:15:45 +01:00
Niki Micallef
f81c155011 GH-383 - Update runtime.adoc by completing intro paragraph.
Original pull request: GH-384.
2023-11-24 15:32:45 +01:00
Oliver Drotbohm
792b69c25e GH-355 - Polish Kotlin code samples in event section of reference documentation. 2023-11-02 08:26:00 +01:00
Maciej Walkowiak
d95da874bd GH-344 - Support for event externalization into AWS SNS and SQS.
Additional event externalization implementations for AWS SNS and SQS.

Original pull request: GH-350.
2023-11-02 08:22:28 +01:00
Oliver Drotbohm
576b8f5074 GH-342 - Allow disabling event externalization.
We now expose spring.modulith.events.externalization.enabled that can be set to false to disable the event externalization completely. Useful in test cases, for example.
2023-10-23 12:22:42 +02:00
Devashish Bhattacharjee
9b79e09729 GH-256 - Added Kotlin variant for Java code. 2023-10-17 10:22:02 +02:00
Oliver Drotbohm
cc99f9d357 GH-325 - Add mission statement to reference documentation. 2023-10-16 08:32:26 +02:00
Oliver Drotbohm
51f205af59 GH-324 - Add Neo4j-specific configuration properties to reference documentation. 2023-10-16 08:31:35 +02:00
Devashish Bhattacharjee
31a570c87b GH-255 - Add Gradle snippets for build related samples to the reference documentation. 2023-09-19 10:02:12 +02:00
Rob Winch
c43a338a99 GH-297 - Update to antora-ui-spring v0.3.7. 2023-09-19 09:00:01 +02:00
Oliver Drotbohm
0d563dde1e GH-285 - Add diagram extension to main branch Antora playbook. 2023-09-12 11:09:53 +02:00
Rob Winch
56036d151a GH-285 - Migrate documentation to Antora. 2023-09-12 09:21:48 +02:00
Oliver Drotbohm
9b0062f354 GH-248 - Support to automatically externalize events.
We now allow externalizing application events to a variety of message brokers through the addition of Spring Modulith modules for Kafka, AMQP and JMS to a user project's classpath. Which events shall be externalized and how they're supposed to be routed to the message broker can be configured through either annotations or via a configuration API declared as Spring bean.

In case Jackson is on the classpath, we also add auto-configuration to use a Boot-configured ObjectMapper instance with the corresponding message broker client APIs to properly serialize and deserialize messages to JSON.
2023-09-07 16:29:10 +02:00
Oliver Drotbohm
971a143436 GH-294 - Introduce user API to deal with completed and incomplete event publications.
Introduce a new spring-modulith-events-api artifact to contain types that are supposed to be used by application code to deal with event publications. `EventPublication` was moved into that artifact and got everything non infrastructure related extracted from it's previous incarnation. That in turn has been renamed to `TargetEventPublication`.

`CompletedEventPublications` exposes API to allow purging completed publications either by a given predicate or age (in `Duration`). The interface is implemented by `DefaultEventPublicationRegistry` and thus subject for dependency injection into user code. It primarily delegates to the corresponding methods on `EventPublicationRepository` adapting the given `Duration`s to the `Clock` instance already held internally.

`IncompleteEventPublications` allows triggering the re-submission of incomplete publications by the same criteria as `CEP`. The interface is implemented by `PersistentApplicationEventMulticaster` and this subject for dependency injection into user code.

`EventPublicationRepository` now also allows publications to be deleted by identifiers. The existing implementations have been adapted and batch the requests for every 100 identifiers to prevent a list too large to run into limitations of the underlying data store.

Polished transactional metadata declaration in JPA- and MongoDB-based repository implementations.

Tightened nullability expressions here and there.
2023-09-04 15:24:37 +02:00
Oliver Drotbohm
1fe681bffc GH-289 - Polishing. 2023-09-04 09:55:04 +02:00
Karl Heinz Marbaise
4af54d09a6 GH-289 - Project version is not correctly inserted into the documentation.
Original pull request: GH-290.
2023-09-04 09:54:56 +02:00
Oliver Drotbohm
3aa6a12b21 GH-288 - Clarify event republication behavior on restart. 2023-09-04 09:46:33 +02:00
Oliver Drotbohm
cec759af0c GH-268 - Rename actuator endpoint to modulith.
To align with the conventions established by Spring Boot.
2023-08-15 09:30:00 +02:00
Yossi Spektor
0b110f70c2 GH-220 - Documentation polish. 2023-08-10 08:37:44 +02:00
Oliver Drotbohm
290b1c899b GH-257 - Add appendix listing all configuration properties exposed. 2023-08-09 21:21:18 +02:00