Reference Guide

Axon Framework 1.2

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.2.3. Infrastructure requirements
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. Structural validation
3.5.3. 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.4.4. Pruning Snapshot Events
5.5. Advanced conflict detection and resolution
6. Event Processing
6.1. Event Bus
6.1.1. Simple Event Bus
6.1.2. Clustering 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. Command Component Testing
8.2. Testing Annotated Sagas
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.6. Wiring the Repository
9.7. Wiring the Event Store
9.8. Configuring Snapshotting
9.9. Configuring Sagas
10. Performance Tuning
10.1. Database Indexes
10.2. Caching
10.3. Snapshotting
10.4. Aggregate performance
10.5. Event Serializer tuning
10.6. Custom Identifier generation