public class AggregateSnapshotter extends AbstractSnapshotter
| Modifier and Type | Class and Description |
|---|---|
static class |
AggregateSnapshotter.Builder
Builder class to instantiate a
AggregateSnapshotter. |
| Modifier | Constructor and Description |
|---|---|
protected |
AggregateSnapshotter(AggregateSnapshotter.Builder builder)
Instantiate a
AggregateSnapshotter based on the fields contained in the AggregateSnapshotter.Builder. |
| Modifier and Type | Method and Description |
|---|---|
static AggregateSnapshotter.Builder |
builder()
Instantiate a Builder to be able to create a
AggregateSnapshotter. |
protected DomainEventMessage |
createSnapshot(Class<?> aggregateType,
String aggregateIdentifier,
DomainEventStream eventStream)
Creates a snapshot event for an aggregate of which passed events are available in the given
eventStream. |
protected AggregateFactory<?> |
getAggregateFactory(Class<?> aggregateType)
Returns the AggregateFactory registered for the given
aggregateType, or null if no such
AggregateFactory is known. |
protected void |
registerAggregateFactory(AggregateFactory<?> aggregateFactory)
Registers the given
aggregateFactory with this snapshotter. |
createSnapshotterTask, getEventStore, getExecutor, scheduleSnapshotprotected AggregateSnapshotter(AggregateSnapshotter.Builder builder)
AggregateSnapshotter based on the fields contained in the AggregateSnapshotter.Builder.
Will assert that the EventStore, ParameterResolverFactory and HandlerDefinition are not
null, and will throw an AxonConfigurationException if any of them is null. The
SpanFactory is defaulted to a NoOpSpanFactory.
builder - the AggregateSnapshotter.Builder used to instantiate a AggregateSnapshotter instancepublic static AggregateSnapshotter.Builder builder()
AggregateSnapshotter.
The Executor is defaulted to an DirectExecutor.INSTANCE and the
TransactionManager defaults to a NoTransactionManager.
Additionally, this Builder has convenience functions to default the ParameterResolverFactory and
HandlerDefinition based on instances of these available on the classpath in case these are not provided
(respectively AggregateSnapshotter.Builder.buildParameterResolverFactory() and AggregateSnapshotter.Builder.buildHandlerDefinition()). Upon
instantiation of a AggregateSnapshotter, it is recommended to use these function to set those fields.
The EventStore is a hard requirement and as such should be provided.
AggregateSnapshotterClasspathParameterResolverFactory,
ClasspathHandlerDefinitionprotected DomainEventMessage createSnapshot(Class<?> aggregateType, String aggregateIdentifier, DomainEventStream eventStream)
AbstractSnapshottereventStream.
May return null to indicate a snapshot event is not necessary or appropriate for the given event stream.createSnapshot in class AbstractSnapshotteraggregateType - The aggregate's type identifieraggregateIdentifier - The identifier of the aggregate to create a snapshot foreventStream - The event stream containing the aggregate's past eventsnull if none should be stored.protected AggregateFactory<?> getAggregateFactory(Class<?> aggregateType)
aggregateType, or null if no such
AggregateFactory is known.
Subclasses may override this method to enhance how AggregateFactories are retrieved. They may choose to
registerAggregateFactory(AggregateFactory) if it hasn't been found using this implementation.
aggregateType - The type to get the AggregateFactory fornull if not foundprotected void registerAggregateFactory(AggregateFactory<?> aggregateFactory)
aggregateFactory with this snapshotter. If a factory for this type was already
registered, it is overwritten with this one.aggregateFactory - the AggregateFactory to registerCopyright © 2010–2023. All rights reserved.