Axon Modeling AutoConfiguration

Is it possible to convert Axon Modeling to AutoConfiguration with spring boot?

@zeynab, I am not entirely sure why you need this.
axon-modeling is one of Axon Framework’s main modules, providing modeling for aggregates and sagas.

This module is not intended to be Spring-specific on any level. If anything, it should be agnostic of as many other libraries as possible.

However, if you want to have auto-configuration for the infrastructure components of the axon-modeling package, you can simply use Axon Framework’s Spring Boot autoconfiguration modules that are there.
To be more specific, that’s the axon-spring-boot-starter module that you can include in your project.

So, let us know whether that works!

In fact, we are asking Axon to work on a large bank project that is based on domain deriven design and articulation. And we want to use some of your modules and add some to them based on our needs. And we may not use your server.
Is it possible for us to modify any of your modules and then use them?

Yes, you can. It’s also very easy to start without Axon Server. Eventually you might need it, for scale, consistency or performance. Anything in particular we might be able to help you with?

Thanks. Yes, can I use the axon-modeling, axon-eventsourcing, and axon-messaging modules to write a specific starter spring-boot for our project?

You can, but I’m not sure that’s necessary. You can turn off any auto configuration related to Axon Server with a property. But maybe you have specific requirements and making your own starter is useful.

I agree with Gerard here, @zeynab.

Yes, you can do any form of customization to Axon Framework as you see fit.
It is open source, after all

Do note that we are not in the space of providing support over your customization over Axon Framework, though. As that’s your code, you are situated best to figure out how to resolve issues you’re experiencing with it.

Furthermore, whether a custom starter is feasible depends on what you’re trying to achieve. But, I am again agreeing with Gerard here. You can very easily exclude Axon’s autoconfiguration classes in a custom @Configuration annotated component (or on the main application class) in your project.

Lastly, although Axon Framework works without Axon Server, I do recommend giving it a spin first. There’s a reason why it’s there: it simply eliminates any messaging configuration and event store optimization for you. If the “big bank” you are working for prefers hiring developers and operators for numerous components compared to an off the shelve solution, that’s fine, of course.

But with it in place, you should be able to greatly accelerate the development of your application.
Again, just giving it a try is straightforward enough and should give you info insights on whether it’s worth it compared to setting up a distributed command bus, distributed event bus, distributed query bus, and efficient event store.

1 Like