public static class TrackingEventProcessor.Builder extends AbstractEventProcessor.Builder
TrackingEventProcessor
.
The RollbackConfigurationType
defaults to a RollbackConfigurationType.ANY_THROWABLE
, the
ErrorHandler
is defaulted to a PropagatingErrorHandler
, the MessageMonitor
defaults to a
NoOpMessageMonitor
, the EventProcessorSpanFactory
defaults to a
DefaultEventProcessorSpanFactory
backed by a NoOpSpanFactory
and the
TrackingEventProcessorConfiguration
to a
TrackingEventProcessorConfiguration.forSingleThreadedProcessing()
call. The Event Processor name
,
EventHandlerInvoker
, StreamableMessageSource
, TokenStore
and TransactionManager
are
hard requirements and as such should be provided.
name
Constructor and Description |
---|
Builder() |
public TrackingEventProcessor.Builder name(@Nonnull String name)
AbstractEventProcessor.Builder
name
of this EventProcessor
implementation.name
in class AbstractEventProcessor.Builder
name
- a String
defining this EventProcessor
implementationpublic TrackingEventProcessor.Builder eventHandlerInvoker(@Nonnull EventHandlerInvoker eventHandlerInvoker)
AbstractEventProcessor.Builder
EventHandlerInvoker
which will handle all the individual EventMessage
s.eventHandlerInvoker
in class AbstractEventProcessor.Builder
eventHandlerInvoker
- the EventHandlerInvoker
which will handle all the individual
EventMessage
spublic TrackingEventProcessor.Builder rollbackConfiguration(@Nonnull RollbackConfiguration rollbackConfiguration)
RollbackConfiguration
specifying the rollback behavior of the UnitOfWork
while
processing a batch of events.. Defaults to a RollbackConfigurationType.ANY_THROWABLE
)rollbackConfiguration
in class AbstractEventProcessor.Builder
rollbackConfiguration
- the RollbackConfiguration
specifying the rollback behavior of the
UnitOfWork
while processing a batch of events.public TrackingEventProcessor.Builder errorHandler(@Nonnull ErrorHandler errorHandler)
AbstractEventProcessor.Builder
ErrorHandler
invoked when an UnitOfWork
is rolled back during processing. Defaults
to a PropagatingErrorHandler
.errorHandler
in class AbstractEventProcessor.Builder
errorHandler
- the ErrorHandler
invoked when an UnitOfWork
is rolled back during
processingpublic TrackingEventProcessor.Builder messageMonitor(@Nonnull MessageMonitor<? super EventMessage<?>> messageMonitor)
AbstractEventProcessor.Builder
MessageMonitor
to monitor EventMessage
s before and after they're processed. Defaults
to a NoOpMessageMonitor
.messageMonitor
in class AbstractEventProcessor.Builder
messageMonitor
- a MessageMonitor
to monitor EventMessage
s before and after they're
processedpublic TrackingEventProcessor.Builder spanFactory(@Nonnull EventProcessorSpanFactory spanFactory)
AbstractEventProcessor.Builder
EventProcessorSpanFactory
implementation to use for providing tracing capabilities. Defaults
to a DefaultEventProcessorSpanFactory
backed by a NoOpSpanFactory
by default, which provides
no tracing capabilities.spanFactory
in class AbstractEventProcessor.Builder
spanFactory
- The SpanFactory
implementation@Deprecated public TrackingEventProcessor.Builder spanFactory(@Nonnull SpanFactory spanFactory)
AbstractEventProcessor.Builder
SpanFactory
implementation to use for providing tracing capabilities. Defaults to a
NoOpSpanFactory
by default, which provides no tracing capabilities.spanFactory
in class AbstractEventProcessor.Builder
spanFactory
- The SpanFactory
implementationpublic TrackingEventProcessor.Builder messageSource(StreamableMessageSource<TrackedEventMessage<?>> messageSource)
messageSource
- the StreamableMessageSource
(e.g. the EventBus
) which this
EventProcessor
will trackpublic TrackingEventProcessor.Builder tokenStore(TokenStore tokenStore)
TokenStore
used to store and fetch event tokens that enable this EventProcessor
to
track its progress.tokenStore
- the TokenStore
used to store and fetch event tokens that enable this EventProcessor
to track its progresspublic TrackingEventProcessor.Builder transactionManager(TransactionManager transactionManager)
TransactionManager
used when processing EventMessage
s.
Note that setting this value influences the behavior for storing tokens either at the start or at the end of
a batch. If a TransactionManager other than a NoTransactionManager
is configured, the default
behavior is to store the last token of the Batch to the Token Store before processing of events begins. If
the NoTransactionManager
is provided, the default is to extend the claim at the start of the unit of
work, and update the token after processing Events. When tokens are stored at the start of a batch, a claim
extension will be sent at the end of the batch if processing that batch took longer than the tokenClaimUpdateInterval
.
Use storingTokensAfterProcessing()
to force storage of tokens at the end of a batch.
transactionManager
- the TransactionManager
used when processing EventMessage
sstoringTokensAfterProcessing()
public TrackingEventProcessor.Builder trackingEventProcessorConfiguration(TrackingEventProcessorConfiguration trackingEventProcessorConfiguration)
TrackingEventProcessorConfiguration
containing the fine grained configuration options for a
TrackingEventProcessor
. Defaults to a TrackingEventProcessorConfiguration.forSingleThreadedProcessing()
call.trackingEventProcessorConfiguration
- the TrackingEventProcessorConfiguration
containing the
fine grained configuration options for a TrackingEventProcessor
public TrackingEventProcessor.Builder storingTokensAfterProcessing()
Enable this when a Token Store cannot participate in a transaction, or when at-most-once-delivery semantics are desired.
The default behavior is to store the last token of the Batch to the Token Store before processing of events
begins, if a TransactionManager is configured. If the NoTransactionManager
is provided, the default
is to extend the claim at the start of the unit of work, and update the token after processing Events. When
tokens are stored at the start of a batch, a claim extension will be sent at the end of the batch if
processing that batch took longer than the tokenClaimUpdateInterval
.
public TrackingEventProcessor build()
TrackingEventProcessor
as specified through this Builder.TrackingEventProcessor
as specified through this Builderprotected void validate() throws AxonConfigurationException
validate
in class AbstractEventProcessor.Builder
AxonConfigurationException
- if one field is asserted to be incorrect according to the Builder's
specificationsCopyright © 2010–2024. All rights reserved.