• Stars
    star
    3,202
  • Rank 13,432 (Top 0.3 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 12 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Framework for Evolutionary Message-Driven Microservices on the JVM

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.
  • When ready, you can quickly and easily start your very own Axon Framework based application at https://start.axoniq.io/. Note that this solution is only feasible if you want to stick to the Spring ecosphere.
  • 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.

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!

More Repositories

1

Axon-trader

A sample to use the axon framework for a trading application
Java
400
star
2

AxonBank

Simple virtual bank application to showcase features of Axon Framework
Java
181
star
3

extension-kafka

Axon Framework extension for Kafka integration to publish and handle Event messages.
Java
63
star
4

extension-kotlin

Axon Framework extension for Kotlin integration to ease development in Kotlin.
Kotlin
44
star
5

IdeaPlugin

An IntelliJ IDEA plugin for Axon Framework
Kotlin
33
star
6

ReferenceGuide

The Reference Guide of Axon Framework
CSS
29
star
7

extension-reactor

Axon Framework extension for integration with Project Reactor, allowing an extended reactive API.
Java
26
star
8

extension-mongo

Axon Framework extension for Mongo integration as a Dead Letter, Event, Saga and Tracking Token storage solution.
Java
23
star
9

extension-springcloud

Axon Framework extension for Spring Cloud's Discovery mechanism integration to distribute Command messages.
Java
23
star
10

Scynapse

Scynapse - the Scala API for Axon Framework
Scala
20
star
11

axon-bom

Axon Bill of Materials (BOM) - provides managed dependencies for all Axon artifacts
15
star
12

extension-tracing

Axon Framework extension to provide tracing support for messages using the OpenTracing API.
Java
13
star
13

cdi

Axon Framework CDI Support
Java
11
star
14

extension-multitenancy

Axon Framework extension providing handles to support multi tenancy with distinct buses and stores per tenant.
Java
10
star
15

extension-springcloud-sample

Sample project showcasing Axon's Spring Cloud extension
Kotlin
9
star
16

extension-amqp

Axon Framework extension for AMQP integration to publish and handle Event messages.
Java
8
star
17

extension-jgroups

Axon Framework extension for JGroups integration to distribute Command messages.
Java
7
star
18

extension-spring-aot

Axon Framework extension for Spring Ahead of Time compilation support.
Java
4
star
19

extension-jobrunrpro

Extension to integrate with the Pro version of JobRunr. This makes it possible to search and delete jobs.
Java
3
star
20

opentelemetry-samples

Samples for using OpenTelemetry with Axon Framework 4.6+
Kotlin
2
star
21

Migration-Tool

Tool to help migrate an Axon 1.x event store to the Axon 2.0 format
Java
2
star
22

extension-cdi

Axon Framework extension to support CDI integration.
Java
2
star
23

.github

Repository dedicated towards providing an GitHub organizational level README.
1
star