public class EventProcessingModule extends Object implements ModuleConfiguration, EventProcessingConfiguration, EventProcessingConfigurer
EventProcessingConfiguration and takes care of module lifecycle.EventProcessingConfigurer.EventProcessorBuilder| Constructor and Description |
|---|
EventProcessingModule() |
| Modifier and Type | Method and Description |
|---|---|
EventProcessingConfigurer |
assignHandlerInstancesMatching(String processingGroup,
int priority,
Predicate<Object> criteria)
Configures a rule to assign Event Handler beans that match the given
criteria to the Processing Group
with given name, with given priority. |
EventProcessingConfigurer |
assignHandlerTypesMatching(String processingGroup,
int priority,
Predicate<Class<?>> criteria)
Configures a rule to assign Event Handler beans that match the given
criteria to the Processing Group
with given name, with given priority. |
EventProcessingConfigurer |
assignProcessingGroup(Function<String,String> assignmentRule)
Defines a rule for assigning processing groups to processors if processing group to processor name mapping does
not contain the entry.
|
EventProcessingConfigurer |
assignProcessingGroup(String processingGroup,
String processorName)
Defines a mapping for assigning processing groups to processors.
|
EventProcessingConfigurer |
byDefaultAssignHandlerInstancesTo(Function<Object,String> assignmentFunction)
Registers a
Function that defines the Event Processing Group name to assign Event Handler beans to when
no other, more explicit, rule matches and no ProcessingGroup annotation is found. |
EventProcessingConfigurer |
byDefaultAssignHandlerTypesTo(Function<Class<?>,String> assignmentFunction)
Registers a
Function that defines the Event Processing Group name to assign Event Handler and Saga beans
to when no other, more explicit, rule matches and no ProcessingGroup annotation is found. |
ErrorHandler |
errorHandler(String componentName)
Returns the
ErrorHandler tied to the given processingGroup. |
<T extends EventProcessor> |
eventProcessorByProcessingGroup(String processingGroup)
Obtains an
EventProcessor by it's processingGroup. |
Map<String,EventProcessor> |
eventProcessors()
Obtains all registered
EventProcessors. |
void |
initialize(Configuration configuration)
Initialize the module configuration using the given global
config |
List<MessageHandlerInterceptor<? super EventMessage<?>>> |
interceptorsFor(String processorName)
|
ListenerInvocationErrorHandler |
listenerInvocationErrorHandler(String processingGroup)
Returns the
ListenerInvocationErrorHandler tied to the given processingGroup. |
MessageMonitor<? super Message<?>> |
messageMonitor(Class<?> componentType,
String eventProcessorName)
Returns the
MessageMonitor set to the given componentType and componentName registered
within this configuration. |
EventProcessingConfigurer |
registerDefaultErrorHandler(Function<Configuration,ErrorHandler> errorHandlerBuilder)
Registers a
Function that builds the default ErrorHandler. |
EventProcessingConfigurer |
registerDefaultHandlerInterceptor(BiFunction<Configuration,String,MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder)
Register the given
interceptorBuilder as a default to build a MessageHandlerInterceptor for
EventProcessors created in this configuration. |
EventProcessingConfigurer |
registerDefaultListenerInvocationErrorHandler(Function<Configuration,ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder)
Registers a
Function that builds the default ListenerInvocationErrorHandler. |
EventProcessingConfigurer |
registerDefaultSequencingPolicy(Function<Configuration,SequencingPolicy<? super EventMessage<?>>> policyBuilder)
Registers the
SequencingPolicy created by given policyBuilder to the processing groups for which
no explicit policy is defined (using EventProcessingConfigurer.registerSequencingPolicy(String, Function)). |
EventProcessingConfigurer |
registerErrorHandler(String eventProcessorName,
Function<Configuration,ErrorHandler> errorHandlerBuilder)
|
EventProcessingConfigurer |
registerEventHandler(Function<Configuration,Object> eventHandlerBuilder)
Registers a
Function that builds an Event Handler instance. |
EventProcessingConfigurer |
registerEventProcessor(String name,
EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder)
Registers an
EventProcessingConfigurer.EventProcessorBuilder for the given processor name. |
EventProcessingConfigurer |
registerEventProcessorFactory(EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder)
Registers a factory that builds the default
EventProcessor. |
EventProcessingConfigurer |
registerHandlerInterceptor(String processorName,
Function<Configuration,MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder)
Register the given
interceptorBuilder to build a MessageHandlerInterceptor for the
EventProcessor with given processorName. |
EventProcessingConfigurer |
registerListenerInvocationErrorHandler(String processingGroup,
Function<Configuration,ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder)
|
EventProcessingConfigurer |
registerMessageMonitorFactory(String eventProcessorName,
MessageMonitorFactory messageMonitorFactory)
|
EventProcessingConfigurer |
registerRollbackConfiguration(String name,
Function<Configuration,RollbackConfiguration> rollbackConfigurationBuilder)
|
<T> EventProcessingConfigurer |
registerSaga(Class<T> sagaType,
Consumer<SagaConfigurer<T>> sagaConfigurer)
Registers a Saga, allowing specific configuration to use for this Saga type.
|
EventProcessingConfigurer |
registerSagaStore(Function<Configuration,SagaStore> sagaStoreBuilder)
|
EventProcessingConfigurer |
registerSequencingPolicy(String processingGroup,
Function<Configuration,SequencingPolicy<? super EventMessage<?>>> policyBuilder)
Registers the
SequencingPolicy created by the given policyBuilder to the processing group with
given processingGroup. |
EventProcessingConfigurer |
registerSubscribingEventProcessor(String name,
Function<Configuration,SubscribableMessageSource<? extends EventMessage<?>>> messageSource)
|
EventProcessingConfigurer |
registerTokenStore(Function<Configuration,TokenStore> tokenStore)
Register a
Function that builds a TokenStore to use as the default in case no explicit token
store was configured for a processor. |
EventProcessingConfigurer |
registerTokenStore(String processingGroup,
Function<Configuration,TokenStore> tokenStore)
|
EventProcessingConfigurer |
registerTrackingEventProcessor(String name,
Function<Configuration,StreamableMessageSource<TrackedEventMessage<?>>> source,
Function<Configuration,TrackingEventProcessorConfiguration> processorConfiguration)
Registers a
TrackingEventProcessor with given name, source and processorConfiguration within this Configurer. |
EventProcessingConfigurer |
registerTransactionManager(String name,
Function<Configuration,TransactionManager> transactionManagerBuilder)
|
RollbackConfiguration |
rollbackConfiguration(String componentName)
Returns the
RollbackConfiguration tied to the given processingGroup. |
List<SagaConfiguration<?>> |
sagaConfigurations()
Returns a
List of SagaConfigurations registered within this configuration. |
String |
sagaProcessingGroup(Class<?> sagaType)
Gets the processing group for given
sagaType. |
SagaStore |
sagaStore()
Returns a
SagaStore registered within this configuration. |
SequencingPolicy<? super EventMessage<?>> |
sequencingPolicy(String processingGroup)
Returns the
SequencingPolicy tied to the given processingGroup. |
void |
shutdown()
Invoked prior to shutdown of the application.
|
void |
start()
Invoked when the Configuration is started.
|
TokenStore |
tokenStore(String processorName)
Returns the
TokenStore tied to the given processingGroup. |
TransactionManager |
transactionManager(String processingGroup)
Returns the
TransactionManager tied to the given processingGroup. |
EventProcessingConfigurer |
usingSubscribingEventProcessors()
Defaults Event Processors builders to use
SubscribingEventProcessor. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitisType, phase, unwrapeventProcessor, eventProcessor, eventProcessorByProcessingGroup, sagaConfiguration, sagaEventProcessorassignHandlerInstancesMatching, assignHandlerTypesMatching, byDefaultAssignTo, registerMessageMonitor, registerSaga, registerSubscribingEventProcessor, registerTrackingEventProcessor, registerTrackingEventProcessorpublic void initialize(Configuration configuration)
ModuleConfigurationconfiginitialize in interface ModuleConfigurationconfiguration - the global configuration, providing access to generic componentspublic void start()
ModuleConfigurationstart in interface ModuleConfigurationConfiguration.start()public void shutdown()
ModuleConfigurationshutdown in interface ModuleConfigurationConfiguration.shutdown()public <T extends EventProcessor> Optional<T> eventProcessorByProcessingGroup(String processingGroup)
EventProcessingConfigurationEventProcessor by it's processingGroup.eventProcessorByProcessingGroup in interface EventProcessingConfigurationT - the type of the expected EventProcessorprocessingGroup - a String specifying the processing group of an EventProcessorOptional referencing the EventProcessorpublic Map<String,EventProcessor> eventProcessors()
EventProcessingConfigurationEventProcessors.eventProcessors in interface EventProcessingConfigurationMap of registered EventProcessors within this configuration with the processor names as
keyspublic String sagaProcessingGroup(Class<?> sagaType)
EventProcessingConfigurationsagaType.sagaProcessingGroup in interface EventProcessingConfigurationsagaType - the type of Sagapublic List<MessageHandlerInterceptor<? super EventMessage<?>>> interceptorsFor(String processorName)
EventProcessingConfigurationinterceptorsFor in interface EventProcessingConfigurationprocessorName - a String specifying a processing groupList of MessageHandlerInterceptors for a processor with given processorNamepublic ListenerInvocationErrorHandler listenerInvocationErrorHandler(String processingGroup)
EventProcessingConfigurationListenerInvocationErrorHandler tied to the given processingGroup.listenerInvocationErrorHandler in interface EventProcessingConfigurationprocessingGroup - a String specifying a processing groupListenerInvocationErrorHandler belonging to the given processingGrouppublic SequencingPolicy<? super EventMessage<?>> sequencingPolicy(String processingGroup)
EventProcessingConfigurationSequencingPolicy tied to the given processingGroup.sequencingPolicy in interface EventProcessingConfigurationprocessingGroup - a String specifying a processing groupSequencingPolicy belonging to the given processingGrouppublic RollbackConfiguration rollbackConfiguration(String componentName)
EventProcessingConfigurationRollbackConfiguration tied to the given processingGroup.rollbackConfiguration in interface EventProcessingConfigurationcomponentName - a String specifying a processing groupRollbackConfiguration belonging to the given processingGrouppublic ErrorHandler errorHandler(String componentName)
EventProcessingConfigurationErrorHandler tied to the given processingGroup.errorHandler in interface EventProcessingConfigurationcomponentName - a String specifying a processing groupErrorHandler belonging to the given processingGrouppublic SagaStore sagaStore()
EventProcessingConfigurationSagaStore registered within this configuration.sagaStore in interface EventProcessingConfigurationSagaStore registered within this configurationpublic List<SagaConfiguration<?>> sagaConfigurations()
EventProcessingConfigurationList of SagaConfigurations registered within this configuration.sagaConfigurations in interface EventProcessingConfigurationList of SagaConfigurations registered within this configurationpublic MessageMonitor<? super Message<?>> messageMonitor(Class<?> componentType, String eventProcessorName)
EventProcessingConfigurationMessageMonitor set to the given componentType and componentName registered
within this configuration.messageMonitor in interface EventProcessingConfigurationcomponentType - a Class type of component to be monitoredeventProcessorName - a String specifying the name of the component to be monitoredMessageMonitor registered to the given componentType and componentNamepublic TokenStore tokenStore(String processorName)
EventProcessingConfigurationTokenStore tied to the given processingGroup.tokenStore in interface EventProcessingConfigurationprocessorName - a String specifying a event processorTokenStore belonging to the given processingGrouppublic TransactionManager transactionManager(String processingGroup)
EventProcessingConfigurationTransactionManager tied to the given processingGroup.transactionManager in interface EventProcessingConfigurationprocessingGroup - a String specifying a processing groupTransactionManagerbelonging to the given processingGrouppublic <T> EventProcessingConfigurer registerSaga(Class<T> sagaType, Consumer<SagaConfigurer<T>> sagaConfigurer)
EventProcessingConfigurerregisterSaga in interface EventProcessingConfigurerT - The type of Saga to configuresagaType - The type of Saga to configuresagaConfigurer - a function providing modifications on top of the defaul configurationEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerSagaStore(Function<Configuration,SagaStore> sagaStoreBuilder)
EventProcessingConfigurerregisterSagaStore in interface EventProcessingConfigurersagaStoreBuilder - a Function that builds a SagaStoreEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerEventHandler(Function<Configuration,Object> eventHandlerBuilder)
EventProcessingConfigurerFunction that builds an Event Handler instance.registerEventHandler in interface EventProcessingConfigurereventHandlerBuilder - a Function that builds an Event Handler instanceEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerDefaultListenerInvocationErrorHandler(Function<Configuration,ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder)
EventProcessingConfigurerFunction that builds the default ListenerInvocationErrorHandler.
Defaults to a LoggingErrorHandler.registerDefaultListenerInvocationErrorHandler in interface EventProcessingConfigurerlistenerInvocationErrorHandlerBuilder - a Function that builds the default
ListenerInvocationErrorHandlerEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerListenerInvocationErrorHandler(String processingGroup, Function<Configuration,ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder)
EventProcessingConfigurerregisterListenerInvocationErrorHandler in interface EventProcessingConfigurerprocessingGroup - a String specifying the name of a processing grouplistenerInvocationErrorHandlerBuilder - a Function that builds ListenerInvocationErrorHandlerEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerTrackingEventProcessor(String name, Function<Configuration,StreamableMessageSource<TrackedEventMessage<?>>> source, Function<Configuration,TrackingEventProcessorConfiguration> processorConfiguration)
EventProcessingConfigurerTrackingEventProcessor with given name, source and processorConfiguration within this Configurer.registerTrackingEventProcessor in interface EventProcessingConfigurername - a String specifying the name of the TrackingEventProcessor
being registeredsource - a Function that builds StreamableMessageSourceprocessorConfiguration - a Function that builds a TrackingEventProcessorConfigurationEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerEventProcessorFactory(EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder)
EventProcessingConfigurerEventProcessor. This is the EventProcessingConfigurer.EventProcessorBuilder to
be used when there is no specific builder for given processor name.registerEventProcessorFactory in interface EventProcessingConfigurereventProcessorBuilder - a Function that builds an EventProcessorEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerEventProcessor(String name, EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder)
EventProcessingConfigurerEventProcessingConfigurer.EventProcessorBuilder for the given processor name.registerEventProcessor in interface EventProcessingConfigurername - a String specifying the name of the EventProcessor being registeredeventProcessorBuilder - a Function that builds an EventProcessorEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerTokenStore(String processingGroup, Function<Configuration,TokenStore> tokenStore)
EventProcessingConfigurerregisterTokenStore in interface EventProcessingConfigurerprocessingGroup - a String specifying the name of a event processortokenStore - a Function that builds a TokenStoreEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerTokenStore(Function<Configuration,TokenStore> tokenStore)
EventProcessingConfigurerFunction that builds a TokenStore to use as the default in case no explicit token
store was configured for a processor.registerTokenStore in interface EventProcessingConfigurertokenStore - a Function that builds a TokenStoreEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer usingSubscribingEventProcessors()
EventProcessingConfigurerSubscribingEventProcessor.usingSubscribingEventProcessors in interface EventProcessingConfigurerEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerSubscribingEventProcessor(String name, Function<Configuration,SubscribableMessageSource<? extends EventMessage<?>>> messageSource)
EventProcessingConfigurerregisterSubscribingEventProcessor in interface EventProcessingConfigurername - a String specyfing the name of the SubscribingEventProcessor
being registeredmessageSource - a Function that builds a SubscribableMessageSourceEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerDefaultErrorHandler(Function<Configuration,ErrorHandler> errorHandlerBuilder)
EventProcessingConfigurerregisterDefaultErrorHandler in interface EventProcessingConfigurererrorHandlerBuilder - a Function that builds an ErrorHandlerEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerErrorHandler(String eventProcessorName, Function<Configuration,ErrorHandler> errorHandlerBuilder)
EventProcessingConfigurerregisterErrorHandler in interface EventProcessingConfigurereventProcessorName - a String specifying the name of an EventProcessorerrorHandlerBuilder - a Function that builds an ErrorHandlerEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer byDefaultAssignHandlerInstancesTo(Function<Object,String> assignmentFunction)
EventProcessingConfigurerFunction that defines the Event Processing Group name to assign Event Handler beans to when
no other, more explicit, rule matches and no ProcessingGroup annotation is found.byDefaultAssignHandlerInstancesTo in interface EventProcessingConfigurerassignmentFunction - a Function that returns the Processing Group for each Event Handler beanEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer byDefaultAssignHandlerTypesTo(Function<Class<?>,String> assignmentFunction)
EventProcessingConfigurerFunction that defines the Event Processing Group name to assign Event Handler and Saga beans
to when no other, more explicit, rule matches and no ProcessingGroup annotation is found.byDefaultAssignHandlerTypesTo in interface EventProcessingConfigurerassignmentFunction - a Function that returns the Processing Group for each Event Handler or Saga
beanEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer assignHandlerInstancesMatching(String processingGroup, int priority, Predicate<Object> criteria)
EventProcessingConfigurercriteria to the Processing Group
with given name, with given priority. Rules with higher value of priority take precedence
over those with a lower value.
Note that, when beans match multiple criteria for different processing groups with equal priority, the outcome is undefined.
assignHandlerInstancesMatching in interface EventProcessingConfigurerprocessingGroup - a String specifying the name of a processing group to assign matching Event
Handlers topriority - The priority for this rulecriteria - a Predicate defining the criteria for an Event Handler to matchEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer assignHandlerTypesMatching(String processingGroup, int priority, Predicate<Class<?>> criteria)
EventProcessingConfigurercriteria to the Processing Group
with given name, with given priority. Rules with higher value of priority take precedence
over those with a lower value.
Note that, when beans match multiple criteria for different processing groups with equal priority, the outcome is undefined.
assignHandlerTypesMatching in interface EventProcessingConfigurerprocessingGroup - a String specifying the name of the Processing Group to assign matching Event
Handlers or Sagas topriority - an int specifying the priority of this rulecriteria - a Predicate defining the criteria for an Event Handler or Saga to matchEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer assignProcessingGroup(String processingGroup, String processorName)
EventProcessingConfigurerassignProcessingGroup in interface EventProcessingConfigurerprocessingGroup - a String specifying the processing group to be assignedprocessorName - a String specifying the processor name to assign the group toEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer assignProcessingGroup(Function<String,String> assignmentRule)
EventProcessingConfigurerassignProcessingGroup in interface EventProcessingConfigurerassignmentRule - a Function which takes a processing group and returns a processor nameEventProcessingConfigurer instance, for fluent interfacingEventProcessingConfigurer.assignProcessingGroup(String, String)public EventProcessingConfigurer registerHandlerInterceptor(String processorName, Function<Configuration,MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder)
EventProcessingConfigurerinterceptorBuilder to build a MessageHandlerInterceptor for the
EventProcessor with given processorName.
The interceptorBuilder may return null, in which case the return value is ignored.
registerHandlerInterceptor in interface EventProcessingConfigurerprocessorName - a String specyfing the name of the processor to register the
MessageHandlerInterceptor oninterceptorBuilder - a Function providing the MessageHandlerInterceptor to register, or
nullEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerDefaultHandlerInterceptor(BiFunction<Configuration,String,MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder)
EventProcessingConfigurerinterceptorBuilder as a default to build a MessageHandlerInterceptor for
EventProcessors created in this configuration.
The interceptorBuilder is invoked once for each processor created, and may return null, in which
case the return value is ignored.
registerDefaultHandlerInterceptor in interface EventProcessingConfigurerinterceptorBuilder - a builder Function that provides a MessageHandlerInterceptor for each
available processorEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerSequencingPolicy(String processingGroup, Function<Configuration,SequencingPolicy<? super EventMessage<?>>> policyBuilder)
EventProcessingConfigurerSequencingPolicy created by the given policyBuilder to the processing group with
given processingGroup. Any previously configured policy for the same name will be overwritten.registerSequencingPolicy in interface EventProcessingConfigurerprocessingGroup - a String specifying the name of the processing group to assign the
SequencingPolicy forpolicyBuilder - a builder Function to create the SequencingPolicy to useEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerDefaultSequencingPolicy(Function<Configuration,SequencingPolicy<? super EventMessage<?>>> policyBuilder)
EventProcessingConfigurerSequencingPolicy created by given policyBuilder to the processing groups for which
no explicit policy is defined (using EventProcessingConfigurer.registerSequencingPolicy(String, Function)).
Defaults to a SequentialPerAggregatePolicy.
registerDefaultSequencingPolicy in interface EventProcessingConfigurerpolicyBuilder - a builder Function to create the SequencingPolicy to useEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerMessageMonitorFactory(String eventProcessorName, MessageMonitorFactory messageMonitorFactory)
EventProcessingConfigurerregisterMessageMonitorFactory in interface EventProcessingConfigurereventProcessorName - a String specifying the name of an EventProcessormessageMonitorFactory - a MessageMonitorFactory used to create a MessageMonitorEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerRollbackConfiguration(String name, Function<Configuration,RollbackConfiguration> rollbackConfigurationBuilder)
EventProcessingConfigurerFunction that builds the RollbackConfiguration for given processor name.
Defaults to a RollbackConfigurationType.ANY_THROWABLEregisterRollbackConfiguration in interface EventProcessingConfigurername - a String specifying the name of an EventProcessorrollbackConfigurationBuilder - a Function that builds a RollbackConfigurationEventProcessingConfigurer instance, for fluent interfacingpublic EventProcessingConfigurer registerTransactionManager(String name, Function<Configuration,TransactionManager> transactionManagerBuilder)
EventProcessingConfigurerregisterTransactionManager in interface EventProcessingConfigurername - a String specifying the name of an EventProcessortransactionManagerBuilder - a Function that builds a TransactionManagerEventProcessingConfigurer instance, for fluent interfacingCopyright © 2010–2018. All rights reserved.