Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide ByteBuddy plugin for Axon Framework #121

Closed
zambrovski opened this issue Jun 3, 2022 · 4 comments
Closed

Provide ByteBuddy plugin for Axon Framework #121

zambrovski opened this issue Jun 3, 2022 · 4 comments
Assignees
Labels
module: bytebuddy ByteBuddy plugin type: enhancement New feature or enhancement to an existing one
Milestone

Comments

@zambrovski
Copy link
Contributor

zambrovski commented Jun 3, 2022

In a typical Axon Framework project I want to use the jmolecules annotations instead of Axon annotation.

Acceptance Criteria

Get rid of the following annotations:

  • Command / Command Model: @TargetAggregateIdentifier, @AggregateIdentifier, @Aggregate, @AggregateRoot, @EventSouringHandler
  • Event Handler: @EventHandler

Currently out of scope

odrotbohm pushed a commit that referenced this issue Jun 9, 2022
Initial support for ByteBuddy based translation of jMolecules annotations into Axon specific annotations.
odrotbohm added a commit that referenced this issue Jun 9, 2022
Removed example project as that has to go into jmolecules-examples. Added dedicated method to filter platform (Java, Kotlin) types. Reinstantiated formatting.

Upgrade to jMolecules 1.6 snapshots to be able to refer to the newly introduced @Association.
@odrotbohm
Copy link
Member

I have just pushed your commit and some polishing on top to the feature/121-axon branch. It uses the slightly reworked @Association annotation already merged into the jMolecules API library. Please have a final quick glance before I merge it into main. I've pulled out the example into the jmolecules-examples repository (all here locally, builds fine this feature branch work here included and about to be merged as well in case we think we're done here for now).

Sorry for the hassle, I'll have to review the code formatting settings going forward.

@odrotbohm odrotbohm self-assigned this Jun 9, 2022
@odrotbohm odrotbohm added type: enhancement New feature or enhancement to an existing one module: bytebuddy ByteBuddy plugin labels Jun 9, 2022
@odrotbohm odrotbohm added this to the 0.11 milestone Jun 9, 2022
@zambrovski
Copy link
Contributor Author

Looks good! Thank you for taking time and finishing it.
Sorry I could not help you with formatting, but somehow the formatter application changes the source code from develop...

@zambrovski
Copy link
Contributor Author

For the examples - great. As soon the integration is merged, I can also provide the Axon example in Kotlin, since this is in my opinion a much better match for creation of DDD CARS/ES systems using Axon Framework than Java.

@odrotbohm
Copy link
Member

That's in place now. Happy to see the Kotlin based Axon example. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module: bytebuddy ByteBuddy plugin type: enhancement New feature or enhancement to an existing one
Projects
None yet
Development

No branches or pull requests

2 participants