MCPcopy Index your code
hub / github.com/AxonIQ/AxonFramework

github.com/AxonIQ/AxonFramework @axon-5.1.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release axon-5.1.2 ↗ · + Follow
21,886 symbols 100,674 edges 2,882 files 6,411 documented · 29% updated 1d agoaxon-5.2.0-RC1 · 2026-07-01★ 3,592184 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Axon Framework logo

Build modern event-driven systems with AxonIQ technology.

Product Description »

Code Samples Repo · Technical Overview · Feature / Bug Request

[!NOTE] This repository has moved from the Axon Framework GitHub organization to the AxonIQ GitHub organization to streamline project management. All existing links, clones, forks, stars, and bookmarks will continue to work seamlessly thanks to GitHub's automatic redirects. For more details, read here

Axon Framework

Maven Central Build Status SonarCloud Status

Axon Framework is a framework for building evolutionary, event-driven microservice systems based on the principles of Domain-Driven Design (DDD), Command-Query Responsibility Separation (CQRS), and Event Sourcing.

Axon Framework provides you with the necessary building blocks to follow these principles. Examples of building blocks are aggregate design handles, aggregate repositories, command buses, saga design handles, event stores, query buses, and more. The framework provides sensible defaults for all of these components out of the box.

The messaging support for commands, events, and queries is at the core of these building blocks. It is the messaging basics that enable an evolutionary approach towards microservices through the location transparency they provide.

Axon will also assist in distributing applications to support scalability or fault tolerance, for example. The most accessible and quick road forward would be to use Axon Server to seamlessly adjust message buses to distributed implementations. Axon Server provides a distributed command bus, event bus, query bus, and an efficient event store implementation for scalable event sourcing. Additionally, the Axon Framework organization has several extensions that can help in this space.

All this helps to create a well-structured application without worrying about the infrastructure. Hence, your focus can shift from non-functional requirements to your business functionality.

For more information on anything Axon, please visit our website, http://axoniq.io.

Getting started

Numerous resources can help you on your journey in using Axon Framework. A good starting point is AxonIQ Developer Portal, which provides links to resources like blogs, videos, and descriptions.

Furthermore, below are several other helpful resources: * The quickstart page of the documentation provides a simplified entry point into the framework with the quickstart project. * We have our very own academy! The introductory courses are free, followed by more in-depth (paid) courses. * The reference guide explains all of the components maintained within Axon Framework's products. * If the guide doesn't help, our forum provides a place to ask questions you have during development. * The hotel demo shows a fleshed-out example of using Axon Framework. * The code samples repository contains more in-depth samples you can benefit from. * You can Ask Axon Guru, it is an Axon-focused AI to answer your questions.

Receiving help

Are you having trouble using any of our libraries or products? Know that we want to help you out the best we can! There are a couple of things to consider when you're traversing anything Axon:

  • Checking the reference guide should be your first stop.
  • When the reference guide does not cover your predicament, we would greatly appreciate it if you could file an issue for it.
  • Our forum provides a space to communicate with the Axon community to help you out. AxonIQ developers will help you out on a best-effort basis. And if you know how to help someone else, we greatly appreciate your contributions!
  • We also monitor Stack Overflow for any question tagged with axon. Similarly to the forum, AxonIQ developers help out on a best-effort basis.

Feature requests and issue reporting

We use GitHub's issue tracking system) for new feature requests, framework enhancements, and bugs. Before filing an issue, please verify that it's not already reported by someone else. Furthermore, make sure you are adding the issue to the correct repository!

When filing bugs: * A description of your setup and what's happening helps us figure out what the issue might be. * Do not forget to provide the versions of the Axon products you're using, as well as the language and version. * If possible, share a stack trace. Please use Markdown semantics by starting and ending the trace with three backticks (```).

When filing a feature or enhancement: * Please provide a description of the feature or enhancement at hand. Adding why you think this would be beneficial is also a great help to us. * (Pseudo-)Code snippets showing what it might look like will help us understand your suggestion better. Similarly as with bugs, please use Markdown semantics for code snippets, starting and ending with three backticks (```). * If you have any thoughts on where to plug this into the framework, that would be very helpful too. * Lastly, we value contributions to the framework highly. So please provide a Pull Request as well!

Update Checker and Anonymous Usage Data Collection

The update checker is a new feature included in the upcoming Axon Framework 5, which ensures the security of the Axon Framework application and its modules and provides useful information to its maintainers.

It does so by retrieving available updates and known vulnerabilities for the Axon modules in use. Furthermore, to detect updates and vulnerabilities, the checker collects anonymous data about your Axon Framework installation. This data is sent to AxonIQ and includes technical information about your environment.

Please read this page of our documentation for more details on why we collect this information, what you get in return, how to opt out, and why this matters. Please check out our Privacy Policy for any privacy concerns.

Repository Transferred

The Axon Framework team has decided to move the Axon Framework repository from the Axon Framework GitHub organization to the Axoniq GitHub organization. This switch makes project management easier for the team, due to our active use of GitHub Project boards.

GitHub Project boards do not allow merging repositories between different organizations in a single board. The team is actively constructing several open-core licensed modules for Axon Framework. These are best placed under the AxonIQ GitHub organization due to their licensing.

Users of the Axon Framework repository will not experience any disruptions from this transfer. GitHub automatically redirects all links, clones, and references from the old location to the new one. Your existing forks, stars, and bookmarks will continue to work seamlessly, regardless of the transfer.

However, it is recommended to update existing local clones to the new repository URL. You can do this by using git remote on the command line:

git remote set-url origin https://github.com/AxonIQ/AxonFramework.git

Extension points exported contracts — how you extend this code

TaskState (Interface)
Example for polymorphy without sealed interface. [348 implementers]
modelling/src/test/java/org/axonframework/modelling/entity/domain/development/state/TaskState.java
EventHandler (Interface)
Interface describing a handler of EventMessage events. @author Allard Buijze @author Steven van Beelen @since 0 [346 implementers]
messaging/src/main/java/org/axonframework/messaging/eventhandling/EventHandler.java
Converter (Interface)
Interface describing a mechanism that can convert data from one to another type. Used when object are added/retrieve [44 …
conversion/src/main/java/org/axonframework/conversion/Converter.java
FieldFilter (Interface)
The FieldFilter indicates whether any given Field should be accepted for processing or not. @author Allard Buijze @sinc [12 …
test/src/main/java/org/axonframework/test/matchers/FieldFilter.java
EnvironmentVariableSupplier (Interface)
A functional interface to supply environment variables. This allows for custom implementations to provide environment va [36 …
update/src/main/java/org/axonframework/update/configuration/EnvironmentVariableUsagePropertyProvider.java
MainArchUnitConventions (Interface)
Represents a set of ArchUnit architectural testing conventions to ensure adherence to specific rules related to nullabil [13 …
common/src/test/java/org/axonframework/common/archunit/MainArchUnitConventions.java
ReactorEventGateway (Interface)
Reactor event gateway that runs dispatch interceptors inside the Reactor subscription. Use this instead of {@link or [26 …
extensions/reactor/axon-reactor/src/main/java/org/axonframework/extension/reactor/messaging/eventhandling/gateway/ReactorEventGateway.java
ClasspathAvroSchemaLoader (Interface)
Classpath Avro schema loader. @author Simon Zambrovski @author Jan Galinski @since 4.11.0 [15 implementers]
extensions/spring/spring/src/main/java/org/axonframework/extension/spring/conversion/avro/ClasspathAvroSchemaLoader.java

Core symbols most depended-on inside this repo

Shape

Method 17,174
Class 4,223
Interface 432
Enum 34
Function 23

Languages

Java99%
Kotlin1%
TypeScript1%

Modules by API surface

common/src/test/java/org/axonframework/common/configuration/ApplicationConfigurerTestSuite.java162 symbols
messaging/src/test/java/org/axonframework/messaging/eventhandling/annotation/AnnotatedEventHandlingComponentTest.java126 symbols
stash/legacy-aggregate/src/test/java/org/axonframework/modelling/command/AggregateAnnotationCommandHandlerTest.java122 symbols
stash/legacy-aggregate/src/test/java/org/axonframework/modelling/command/inspection/AnnotatedAggregateMetaModelFactoryTest.java120 symbols
common/src/test/java/org/axonframework/common/configuration/DefaultComponentRegistryTest.java112 symbols
messaging/src/test/java/org/axonframework/messaging/queryhandling/annotation/AnnotatedQueryHandlingComponentTest.java111 symbols
stash/todo/src/test/java/org/axonframework/integrationtests/deadline/AbstractDeadlineManagerTestSuite.java107 symbols
messaging/src/test/java/org/axonframework/messaging/commandhandling/annotation/AnnotatedCommandHandlingComponentTest.java102 symbols
messaging/src/test/java/org/axonframework/messaging/core/MessageStreamTest.java99 symbols
stash/legacy-aggregate/src/main/java/org/axonframework/test/aggregate/AggregateTestFixture.java88 symbols
messaging/src/test/java/org/axonframework/messaging/eventhandling/processing/streaming/pooled/PooledStreamingEventProcessorTest.java78 symbols
common/src/test/java/org/axonframework/common/ReflectionUtilsTest.java78 symbols

Datastores touched

(mysql)Database · 1 repos
axon_benchmarkDatabase · 1 repos
axonDatabase · 1 repos

For agents

$ claude mcp add AxonFramework \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page