Skip to content

Axon 5 type alias serializer#517

Draft
JohT wants to merge 2 commits into
mainfrom
feature/axon-5-type-alias-serializer
Draft

Axon 5 type alias serializer#517
JohT wants to merge 2 commits into
mainfrom
feature/axon-5-type-alias-serializer

Conversation

@JohT
Copy link
Copy Markdown
Owner

@JohT JohT commented May 20, 2026

No description provided.

@JohT JohT self-assigned this May 20, 2026
@JohT JohT force-pushed the feature/axon-5-type-alias-serializer branch from 99aff8f to c7b3750 Compare May 21, 2026 19:58
@JohT JohT requested a review from Copilot May 21, 2026 20:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Axon Framework 5 adapter module that enables resolving MessageType names via type-alias ResourceBundle entries, plus a minimal integration-test module demonstrating end-to-end alias usage within Axon.

Changes:

  • Introduce type-alias-axon-5-serializer with AliasableMessageTypeResolver and unit tests.
  • Add type-alias-axon-5-serializer-integration-test with a small Axon fixture-based integration test and example messages.
  • Update root build/docs to reference the new module and improve Markdown formatting.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
type-alias-axon-5-serializer/src/main/java/org/alias/axon/serializer/AliasableMessageTypeResolver.java Implements an Axon 5 MessageTypeResolver wrapper that aliases names via ResourceBundle.
type-alias-axon-5-serializer/src/main/java/org/alias/axon/serializer/package-info.java Package-level docs pointing users to the aliasing resolver API.
type-alias-axon-5-serializer/src/test/java/org/alias/axon/serializer/AliasableMessageTypeResolverTest.java Unit tests covering aliasing vs delegation behavior.
type-alias-axon-5-serializer/pom.xml New library module POM with optional Axon dependency and test deps.
type-alias-axon-5-serializer-integration-test/src/test/java/org/alias/axon/serializer/TypeAliasMessageTypeResolverIT.java Integration test demonstrating alias resolution and Axon event publication with aliased message type.
type-alias-axon-5-serializer-integration-test/src/main/java/org/alias/axon/serializer/example/messages/SomethingHappenedEvent.java Example @TypeAlias-annotated event for integration tests.
type-alias-axon-5-serializer-integration-test/src/main/java/org/alias/axon/serializer/example/messages/DoSomethingCommand.java Example command used by the integration test.
type-alias-axon-5-serializer-integration-test/src/main/java/org/alias/axon/serializer/example/messages/package-info.java Docs describing the example message package and generated TypeAlias bundle behavior.
type-alias-axon-5-serializer-integration-test/pom.xml Integration-test module build/test configuration and dependencies.
pom.xml Adds the new Axon 5 serializer module to the root reactor.
README.md Markdown formatting adjustments; build instructions text touched.
COMMANDS.md Markdown formatting adjustments; command descriptions text touched.
.github/prompts/plan-typeAliasAxon5Serializer.prompt.md Planning document describing goals/constraints for the new module.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +48
/**
* Creates a {@link MessageTypeResolver} that uses the given {@link ResourceBundle} to look up type aliases.
* <p>
* The resource bundle must contain the full-qualified class name as key mapped to the alias as a {@link String}
* value.
*
* @param delegate fallback {@link MessageTypeResolver}
* @param resourceBundle {@link ResourceBundle} with alias mappings
* @return {@link MessageTypeResolver}
*/
Comment on lines +121 to +126
<configuration>
<includes>
<include>**/*IT.java</include>
<include>**/*Test.java</include>
</includes>
</configuration>
Comment thread COMMANDS.md
Comment on lines 11 to 12
- `mvn verify` Builds the project and runs all tests including integration tests
- `mvn install` Includes `mvn verify` and copies the resulting artifacts into the local maven repository.
Comment thread README.md

### Building this project

Install maven and use `mvn install` to build this project, run all tests including the integration tests and copy the resulting artifacts into the local maven repository. A list of the most important commands can be found in [COMMANDS.md](COMMANDS.md).
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.

2 participants