Skip to content

Fix/empty module component diagram - #1960

Open
SwatiKumari250 wants to merge 12 commits into
spring-projects:mainfrom
SwatiKumari250:fix/empty-module-component-diagram
Open

SwatiKumari250 wants to merge 12 commits into
spring-projects:mainfrom
SwatiKumari250:fix/empty-module-component-diagram

Conversation

@SwatiKumari250

Copy link
Copy Markdown

Summary

  • Keep modules without relationships visible in component diagrams by default.
  • Add a package-info-only module fixture and a regression test.

Fixes #1367.

Testing

  • Added a regression test in DocumenterUnitTests.
  • Maven tests have not yet been run locally. Please review the proposed default behavior and CI results.

odrotbohm and others added 12 commits October 1, 2026 10:16
…eactivate profiles active by default.

Maven only deactivates profiles active by default if any of the explicitly activated profiles is declared in the same pom that declares the one active by default. We now explicitly declare the releaseTrain profile so that the one named "default" is properly disabled.
Store the original domain event in the Namastack outbox and apply the configured mapping when the record is delivered. This keeps selection and routing based on the original event and reports mapping or broker serialization failures as outbox failures.

Original pull request: spring-projectsGH-1897
Signed-off-by: Roland Beisel <info@rolandbeisel.de>
…Type.of(ResolvableType).

FormattableType.of(ResolvableType) used Class#getName(), which renders array types by their JVM binary names (e.g. [B or [Ljava.lang.String;). As the instance is cached under the same key that FormattableType.of(Class) uses, the broken instance also leaked into Class-based lookups, so the result depended on call order. We now use Class#getTypeName() in line with FormattableType.of(Class).

Original pull request: spring-projectsGH-1902
Signed-off-by: cwjohnpark <pierrotcw@gmail.com>
Refactored test cases.
…ation completion.

CompletionRegisteringAdvisor used to decorate all AFTER_COMMIT @TransactionalEventListener methods, no matter whether spring.modulith.events.registry-trigger-annotation excluded them. For an excluded listener no publication is ever registered, so the completion fell back to the payload-based lookup in the repository, which serializes the event and thus failed for events that cannot be serialized.

The decision which event listener methods are considered by the Event Publication Registry is now encapsulated in EventListenerMethodMetadata, used by both the advisor and TransactionalEventListeners.
… without configured staleness.

DefaultEventPublicationRegistry now only marks publications as failed for statuses Staleness.isMonitored(…) reports as monitored, so configuring only the resubmitted timeout no longer fails PUBLISHED and PROCESSING publications. StalenessProperties rejects zero and negative durations and refuses staleness lookups for statuses that cannot become stale.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Documentation doesn't render properly if a module is empty

4 participants