Modules
Main modules
The maven groupId of all modules is org.sophonhq.sophon.
Quick start a Sophon Application
The Sophon Spring Boot Starter module is the quickest start in to a Sophon project as it will retrieve all the required modules/dependencies transitively. Alternatively, you can manually select individual modules for a customized configuration.
| Module | Artifact Id | Group Id |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sophon messaging
This module contains all necessary components and building blocks to support command, event and query messaging.
Sophon modelling
This module contains the necessary components to create domain models, like Aggregates and Sagas.
Sophon Event Sourcing
This module contains all necessary infrastructure components to support Event Sourcing, Command and Query Models.
Sophon test
This module contains test fixtures that you can use to test Sophon based components, such as your Command Handlers, Aggregates and Sagas. You typically do not need this module at runtime and will only need to be added to the classpath for running tests.
Sophon Configuration
This module contains all the necessary components to configure a Sophon application.
Sophon Spring
This module allows Sophon components to be configured in the Spring Application context. It also provides a number of building block implementations specific to Spring Framework, such as an adapter for publishing and retrieving Sophon Events on a Spring Messaging Channel.
Sophon Spring Boot Starter
This module provides Spring Boot auto-configuration for your project. It is by far the easiest option to get started as it automatically configures all Sophon components. It is explained in more details here.
Sophon Disruptor
This module contains a specific CommandBus and Command Handling solution based on the Disruptor paradigm.
Sophon Metrics
This module provides basic implementations based on Coda Hale to collect the monitoring information.
Sophon Micrometer
This module provides basic implementations based on Micrometer to collect the monitoring information. Micrometer is a dimensional-first metrics collection facade whose aim is to allow you to time, count, and gauge your code with a vendor neutral API.
Sophon Tracing OpenTelemetry
This module contains the components needed to enable tracing with OpenTelemetry.
Sophon Migration
This module contains OpenRewrite recipes that migrate an application from Axon Framework 4 to Sophon. See Migrating from Axon Framework 4 for details.