public static class SimpleEventHandlerInvoker.Builder<B extends SimpleEventHandlerInvoker.Builder<?>> extends Object
SimpleEventHandlerInvoker.
The ListenerInvocationErrorHandler is defaulted to a LoggingErrorHandler and the SequencingPolicy to a SequentialPerAggregatePolicy. Providing at least one Event Handler is a hard
requirement and as such should be provided.
| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
SimpleEventHandlerInvoker |
build()
Initializes a
SimpleEventHandlerInvoker as specified through this Builder. |
B |
eventHandlers(List<?> eventHandlers)
Sets the
eventHandlers this EventHandlerInvoker will forward all its events to. |
B |
eventHandlers(Object... eventHandlers)
Sets the
eventHandlers this EventHandlerInvoker will forward all its events to. |
B |
handlerDefinition(HandlerDefinition handlerDefinition)
Sets the
HandlerDefinition used to create concrete handlers in the annotated handlers in the AnnotationEventHandlerAdapter this EventHandlerInvoker instantiates. |
B |
listenerInvocationErrorHandler(ListenerInvocationErrorHandler listenerInvocationErrorHandler)
Sets the
ListenerInvocationErrorHandler dealing with exceptions thrown by the
configured event handlers. |
B |
parameterResolverFactory(ParameterResolverFactory parameterResolverFactory)
Sets the
ParameterResolverFactory used to resolve parameter values for annotated handlers in the
AnnotationEventHandlerAdapter this EventHandlerInvoker instantiates. |
B |
sequencingPolicy(SequencingPolicy<? super EventMessage<?>> sequencingPolicy)
Sets the
SequencingPolicy in charge of deciding whether a given event should be handled (through
EventHandlerInvoker.handle(EventMessage, Segment)) by the given Segment. |
protected void |
validate()
Validates whether the fields contained in this Builder are set accordingly.
|
AnnotationEventHandlerAdapter |
wrapEventMessageHandler(Object eventHandler)
Wrap a given
eventHandler in an AnnotationEventHandlerAdapter to allow this EventHandlerInvoker to correctly pass EventMessages to it. |
public B eventHandlers(Object... eventHandlers)
eventHandlers this EventHandlerInvoker will forward all its events to. If an event
handler is assignable to EventMessageHandler it will register as is. If not, it will be wrapped by a
new AnnotationEventHandlerAdapter.eventHandlers - an array of Objects which can handle eventspublic B eventHandlers(@Nonnull List<?> eventHandlers)
eventHandlers this EventHandlerInvoker will forward all its events to. If an event
handler is assignable to EventMessageHandler it will register as is. If not, it will be wrapped by a
new AnnotationEventHandlerAdapter.public B parameterResolverFactory(@Nonnull ParameterResolverFactory parameterResolverFactory)
ParameterResolverFactory used to resolve parameter values for annotated handlers in the
AnnotationEventHandlerAdapter this EventHandlerInvoker instantiates. This invoker will only
instantiate a new EventMessageHandler if a given Event Handler (through eventHandlers(Object...) or eventHandlers(List)) is not assignable to EventMessageHandler.parameterResolverFactory - the ParameterResolverFactory used to resolve parameter values for
instantiated AnnotationEventHandlerAdapterspublic B handlerDefinition(@Nonnull HandlerDefinition handlerDefinition)
HandlerDefinition used to create concrete handlers in the annotated handlers in the AnnotationEventHandlerAdapter this EventHandlerInvoker instantiates. This invoker will only
instantiate a new EventMessageHandler if a given Event Handler (through eventHandlers(Object...) or eventHandlers(List)) is not assignable to EventMessageHandler.handlerDefinition - the HandlerDefinition used to create concrete handlers in the instantiated
AnnotationEventHandlerAdapterspublic B listenerInvocationErrorHandler(@Nonnull ListenerInvocationErrorHandler listenerInvocationErrorHandler)
ListenerInvocationErrorHandler dealing with exceptions thrown by the
configured event handlers. Defaults to a LoggingErrorHandler.listenerInvocationErrorHandler - The error handler dealing with exceptions thrown by
the configured event handlerspublic B sequencingPolicy(@Nonnull SequencingPolicy<? super EventMessage<?>> sequencingPolicy)
SequencingPolicy in charge of deciding whether a given event should be handled (through
EventHandlerInvoker.handle(EventMessage, Segment)) by the given Segment. Used when this
EventHandlerInvoker is invoked for multiple Segments (i.e. using parallel processing). Defaults to a
SequentialPerAggregatePolicy,sequencingPolicy - a SequencingPolicy in charge of deciding whether a given event should be
handled by the given Segmentpublic SimpleEventHandlerInvoker build()
SimpleEventHandlerInvoker as specified through this Builder.SimpleEventHandlerInvoker as specified through this Builderpublic AnnotationEventHandlerAdapter wrapEventMessageHandler(@Nonnull Object eventHandler)
eventHandler in an AnnotationEventHandlerAdapter to allow this EventHandlerInvoker to correctly pass EventMessages to it. If a ParameterResolverFactory or
both a ParameterResolverFactory and HandlerDefinition are present, one/both will be given to the
AnnotationEventHandlerAdaptereventHandler - an Object which will be wrapped in an AnnotationEventHandlerAdapterAnnotationEventHandlerAdapter which the given eventHandler will be wrapped inprotected void validate()
throws AxonConfigurationException
AxonConfigurationException - if one field is asserted to be incorrect according to the Builder's
specificationsCopyright © 2010–2023. All rights reserved.