T - a generic specifying the Saga type contained in this
SagaRepository implementationpublic static class AnnotatedSagaRepository.Builder<T> extends LockingSagaRepository.Builder<T>
AnnotatedSagaRepository.
The ResourceInjector is defaulted to a NoResourceInjector.
This Builder either allows directly setting a SagaModel of generic type T, or it will generate
one based of the required sagaType field of type Class. Thus, either the SagaModel or the
sagaType should be provided. All Sagas in this repository must be instanceOf this saga type.
Additionally, the sagaType and SagaStore are hard requirements and as such should be
provided.
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
AnnotatedSagaRepository<T> |
build()
Initializes a
AnnotatedSagaRepository as specified through this Builder. |
protected SagaModel<T> |
buildSagaModel()
Instantiate the
SagaModel of generic type T describing the structure of the Saga
this SagaRepository will store. |
AnnotatedSagaRepository.Builder<T> |
handlerDefinition(HandlerDefinition handlerDefinition)
Sets the
HandlerDefinition used to create concrete handlers for the given sagaType. |
AnnotatedSagaRepository.Builder<T> |
lockFactory(LockFactory lockFactory)
Sets the
LockFactory used to lock a saga. |
AnnotatedSagaRepository.Builder<T> |
parameterResolverFactory(ParameterResolverFactory parameterResolverFactory)
Sets the
ParameterResolverFactory used to resolve parameters for annotated handlers for the given
sagaType. |
AnnotatedSagaRepository.Builder<T> |
resourceInjector(ResourceInjector resourceInjector)
Sets the
ResourceInjector used to initialize Saga instances after a target instance is
created or loaded from the store. |
AnnotatedSagaRepository.Builder<T> |
sagaModel(SagaModel<T> sagaModel)
Sets the
SagaModel of generic type T, describing the structure of the Saga this
SagaRepository implementation will store. |
AnnotatedSagaRepository.Builder<T> |
sagaStore(SagaStore<? super T> sagaStore)
Sets the
SagaStore used to save and load saga instances. |
AnnotatedSagaRepository.Builder<T> |
sagaType(Class<T> sagaType)
|
protected void |
validate()
Validates whether the fields contained in this Builder are set accordingly.
|
public AnnotatedSagaRepository.Builder<T> lockFactory(LockFactory lockFactory)
LockingSagaRepository.BuilderLockFactory used to lock a saga. Defaults to a pessimistic locking strategy, implemented in
the PessimisticLockFactory.lockFactory in class LockingSagaRepository.Builder<T>lockFactory - a LockFactory used to lock an aggregatepublic AnnotatedSagaRepository.Builder<T> sagaType(Class<T> sagaType)
sagaType as a Class, specifying the type of Saga this
SagaRepository will store. If no SagaModel is specified
directly, a model will be derived from this type.sagaType - the Class specifying the type of Saga this
SagaRepository will storepublic AnnotatedSagaRepository.Builder<T> parameterResolverFactory(ParameterResolverFactory parameterResolverFactory)
ParameterResolverFactory used to resolve parameters for annotated handlers for the given
sagaType. Only used to instantiate a SagaModel if no SagaModel has been provided directly.parameterResolverFactory - a ParameterResolverFactory used to resolve parameters for annotated
handlers for the given sagaTypepublic AnnotatedSagaRepository.Builder<T> handlerDefinition(HandlerDefinition handlerDefinition)
HandlerDefinition used to create concrete handlers for the given sagaType.
Only used to instantiate a SagaModel if no SagaModel has been provided directly.handlerDefinition - a HandlerDefinition used to create concrete handlers for the given
sagaType.public AnnotatedSagaRepository.Builder<T> sagaModel(SagaModel<T> sagaModel)
SagaModel of generic type T, describing the structure of the Saga this
SagaRepository implementation will store. If this is not
provided directly, the sagaType will be used to instantiate a SagaModel.sagaModel - the SagaModel of generic type T of the Saga this
SagaRepository implementation will storepublic AnnotatedSagaRepository.Builder<T> sagaStore(SagaStore<? super T> sagaStore)
SagaStore used to save and load saga instances.sagaStore - the SagaStore used to save and load saga instancespublic AnnotatedSagaRepository.Builder<T> resourceInjector(ResourceInjector resourceInjector)
ResourceInjector used to initialize Saga instances after a target instance is
created or loaded from the store. Defaults to a NoResourceInjector.resourceInjector - a ResourceInjector used to initialize Saga instances after a target
instance is created or loaded from the storepublic AnnotatedSagaRepository<T> build()
AnnotatedSagaRepository as specified through this Builder.AnnotatedSagaRepository as specified through this Builderprotected SagaModel<T> buildSagaModel()
SagaModel of generic type T describing the structure of the Saga
this SagaRepository will store.SagaModel of generic type T describing the Saga this
SagaRepository implementation will storeprotected void validate()
throws AxonConfigurationException
validate in class LockingSagaRepository.Builder<T>AxonConfigurationException - if one field is asserted to be incorrect according to the Builder's
specificationsCopyright © 2010–2023. All rights reserved.