Reference Guide

Axon Framework 1.0

Allard Buijze
Jettro Coenradie

Table of Contents

1. Introduction
1.1. Axon Framework Background
1.1.1. A brief history
1.1.2. What is Axon?
1.1.3. When to use Axon?
1.2. Getting started
1.2.1. Download Axon
1.2.2. Configure Maven
1.3. Contributing to Axon Framework
1.4. License information
2. Architecture Overview
3. Command Handling
3.1. Creating a Command Handler
3.2. Dispatching commands
3.3. Configuring the Command Bus
3.4. Unit of Work
3.5. Command Handler Interceptors
3.5.1. Transaction management
3.5.2. Auditing
4. Domain Modeling
4.1. Events
4.1.1. Domain Events
4.1.2. Application Events
4.1.3. System Events
4.2. Aggregate
4.2.1. Basic aggregate implementations
4.2.2. Event sourced aggregates
4.2.3. Complex Aggregate structures
5. Repositories and Event Stores
5.1. Standard repositories
5.2. Event Sourcing repositories
5.3. Event store implementations
5.4. Snapshotting
5.4.1. Creating a snapshot
5.4.2. Storing Snapshot Events
5.4.3. Initializing an Aggregate based on a Snapshot Event
5.5. Advanced conflict detection and resolution
6. Event Processing
6.1. Event Bus
6.2. Event Listeners
6.2.1. Basic configuration
6.2.2. Asynchronous event processing
6.2.3. Managing transactions in asynchronous event handling
7. Managing complex business transactions
7.1. Saga
7.1.1. Life Cycle
7.1.2. Event Handling
7.1.3. Keeping track of Deadlines
7.1.4. Injecting Resources
7.2. Saga Infrastructure
7.2.1. SagaManager
7.2.2. SagaRepository
8. Testing
8.1. Behavior Driven Testing
9. Using Spring
9.1. Adding support for the Java Platform Common Annotations
9.2. Using the Axon namespace shortcut
9.3. Wiring event and command handlers
9.3.1. Event handlers
9.3.2. Command handlers
9.3.3. Annotation support using the axon namespace
9.4. Wiring the event bus
9.5. Wiring the command bus
9.5.1. The basics
9.5.2. Using the Axon namespace
9.6. Wiring the Repository
9.7. Wiring the event store
9.8. Configuring Snapshotting