Micronaut Support#4170
Conversation
|
First and foremost, I want to commend the effort to providing a Micronaut integration for Axon Framework 5, @KDanisme! This is not just a simple contribution, but a rather massive feature. With that said, we can definitely start a conversation on how to approach the integration between Axon Framework 5 and Micronaut. I do want to point out that your PR is extremely large. The Framework team has quite a lot of tasks on their plate with frequent context switching. I do have a rough breakdown suggestion for this which may help:
|
|
Hi @smcvb The main issue/question I had was the autoconfiguration matter. I don't really have experience in spring, but from the way the packages are built I understand you have a package for the implementation(extension) and a package for the configuration(autoconfiguration). But, This can be mimicked using So I could go on to making an autoconfiguration module, but its quite an anti-pattern. Are there any implications for creating a single package which does both? There are alternatives such as package-info level property that can be set to disable all autoconfiguration, that is also common practive. |
If Micronaut views autoconfiguration as an anti pattern, then the answer is easy: we do not have a Micronaut autoconfiguration package. That said, I thus lack a lot of internals on how Micronaut does XYZ. Could you, perhaps, set up a call with me so we can go through the typical approach? |
21a13b5 to
70d5db8
Compare
01b92c5 to
2b1cd74
Compare
d6fbb88 to
92a2728
Compare
Initial implementation of micronaut-extension This introduces implementations for: - LifecycleRegistry - ComponentRegistry - AxonConfiguation - AxonApplication The only thing currently missing in this implementation is decoration of non-manually registered beans. Implementhing this is a bit problematic and really goes againts Micronauts Reflection-less appraoch to stuff. Therefore I left it as unimplemented for now.
|
After a long period of:
This feature is finally ready I think. This was the harder part of integration probably. There are still some unanswered questions regarding the heavy usage of relfection. But the main work done here is to make all the tests pass and work, so refactoring will be a breeze. |
|
Ping @smcvb, |
Definitely spotted it, @KDanisme! I just can't prioritize this right away with the other tasks. We are nearing a minor release and this PR is not part of that, sadly enough. Once we have the time, I can assure you we'll review your PR. |
Initial implementation of micronaut-extension
This introduces implementations for:
The only thing currently missing in this implementation is decoration of non-manually registered beans.
Implementhing this is a bit problematic and really goes againts Micronauts Reflection-less appraoch to stuff.
Therefore I left it as unimplemented for now.