How axoniq/axonframework works
Axon Framework supplies building blocks for event-driven, CQRS, and event-sourced applications. A representative query workflow starts with an application issuing a query, which is handled through query messaging; event-sourced models use repositories and state management, with events persisted by an event store. The README also describes command, event, saga, and distributed messaging capabilities, though the supplied tree does not expose their implementation paths. The graph combines documented capabilities with sampled module evidence; dashed, uncited links indicate relationships not verified in the excerpts.
Main entry points: QueryGateway.java Query gateway · QueryHandlerRegistry.java Query registry · StorageEngineBackedEventStore.java Event store · Message.java Message model
Components 24
Messaging
- Query gateway
messaging/src/main/java/org/axonframework/messaging/queryhandling/gateway/QueryGateway.java - Query message
messaging/src/main/java/org/axonframework/messaging/queryhandling/QueryMessage.java - Query registry
messaging/src/main/java/org/axonframework/messaging/queryhandling/QueryHandlerRegistry.java - Query definitions
messaging/src/main/java/org/axonframework/messaging/queryhandling/annotation/MethodQueryHandlerDefinition.java - Query interception
messaging/src/main/java/org/axonframework/messaging/queryhandling/interception/QueryMessageHandlerInterceptorChain.java - Query monitoring
messaging/src/main/java/org/axonframework/messaging/monitoring/interception/MonitoringQueryHandlerInterceptor.java - Message model
messaging/src/main/java/org/axonframework/messaging/core/Message.java - Message streams
messaging/src/main/java/org/axonframework/messaging/core/MessageStream.java - Processing context
messaging/src/main/java/org/axonframework/messaging/core/unitofwork/ProcessingContext.java - Command handling
- Distributed buses
Model handling
- Entity repository
modelling/src/main/java/org/axonframework/modelling/repository/SimpleRepository.java - State manager
modelling/src/main/java/org/axonframework/modelling/StateManager.java - Saga handling
Event sourcing
- Event messages
messaging/src/main/java/org/axonframework/messaging/eventhandling/EventMessage.java - Event store
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/StorageEngineBackedEventStore.java - Storage engine
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/EventStorageEngine.java - JPA storage
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/jpa/AggregateBasedJpaEventStorageEngine.java - Append conditions
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/AppendCondition.java - Tracking tokens
messaging/src/main/java/org/axonframework/messaging/eventhandling/processing/streaming/token/TrackingToken.java
Framework foundation
- Configuration
common/src/main/java/org/axonframework/common/configuration/Configuration.java - Component description
common/src/main/java/org/axonframework/common/infra/ComponentDescriptor.java - Type references
common/src/main/java/org/axonframework/common/TypeReference.java
Other components
- Application
Connections 20
- Application → Query gateway: issues query
- Query gateway → Query message: creates message
- Query gateway → Query registry: dispatches query
- Query registry → Query definitions: resolves handlers
- Query registry → Query interception: intercepts handling
- Query interception → Query monitoring: applies monitoring
messaging/src/main/java/org/axonframework/messaging/monitoring/interception/MonitoringQueryHandlerInterceptor.java - Query message → Message model: extends
messaging/src/main/java/org/axonframework/messaging/queryhandling/QueryMessage.java - Message model → Processing context: stores in
messaging/src/main/java/org/axonframework/messaging/core/Message.java - Message streams → Message model: streams entries
messaging/src/main/java/org/axonframework/messaging/core/MessageStream.java - State manager → Entity repository: registers and loads
modelling/src/main/java/org/axonframework/modelling/StateManager.java - Entity repository → Event store: uses for sourcing
- Event store → Storage engine: delegates storage
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/EventStorageEngine.java - Storage engine → Append conditions: checks append
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/EventStorageEngine.java - JPA storage → Storage engine: implements
eventsourcing/src/main/java/org/axonframework/eventsourcing/eventstore/jpa/AggregateBasedJpaEventStorageEngine.java - Event store → Event messages: stores events
- Tracking tokens → Processing context: exposes position in
messaging/src/main/java/org/axonframework/messaging/eventhandling/processing/streaming/token/TrackingToken.java - Configuration → Component description: describes components
- Application → Command handling: sends commands
README.md - Application → Saga handling: uses sagas
README.md - Distributed buses → Query gateway: can distribute buses
README.md