Class EventProcessingModule
- All Implemented Interfaces:
EventProcessingConfiguration,EventProcessingConfigurer,ModuleConfiguration
EventProcessingConfiguration and takes care of module lifecycle.- Since:
- 4.0
- Author:
- Milan Savic
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.axonframework.config.EventProcessingConfigurer
EventProcessingConfigurer.DeadLetteringInvokerConfiguration, EventProcessingConfigurer.EventProcessorBuilder, EventProcessingConfigurer.PooledStreamingProcessorConfiguration, EventProcessingConfigurer.SubscribableMessageSourceDefinitionBuilder -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Configurationprotected final Map<String, DeadLetteringEventHandlerInvoker> protected final Map<String, EventProcessingConfigurer.DeadLetteringInvokerConfiguration> protected final Map<String, Component<EnqueuePolicy<EventMessage<?>>>> protected Function<String, Function<Configuration, SequencedDeadLetterQueue<EventMessage<?>>>> protected final Map<String, Component<SequencedDeadLetterQueue<EventMessage<?>>>> protected final List<BiFunction<Configuration, String, MessageHandlerInterceptor<? super EventMessage<?>>>> protected final Map<String, Component<ErrorHandler>> protected final Map<String, Component<EventProcessor>> protected final Map<String, List<Function<Configuration, MessageHandlerInterceptor<? super EventMessage<?>>>>> protected final Map<String, Component<ListenerInvocationErrorHandler>> protected final Map<String, MessageMonitorFactory> protected final Map<String, EventProcessingConfigurer.PooledStreamingProcessorConfiguration> protected final Map<String, Component<RollbackConfiguration>> protected final Map<String, Component<SequencingPolicy<? super EventMessage<?>>>> protected final Map<String, Component<TrackingEventProcessorConfiguration>> protected final Map<String, Component<TokenStore>> protected final Map<String, Component<TransactionManager>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionassignHandlerInstancesMatching(String processingGroup, int priority, Predicate<Object> criteria) Configures a rule to assign Event Handler beans that match the givencriteriato the Processing Group with givenname, with givenpriority.assignHandlerTypesMatching(String processingGroup, int priority, Predicate<Class<?>> criteria) Configures a rule to assign Event Handler beans that match the givencriteriato the Processing Group with givenname, with givenpriority.assignProcessingGroup(String processingGroup, String processorName) Defines a mapping for assigning processing groups to processors.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.byDefaultAssignHandlerInstancesTo(Function<Object, String> assignmentFunction) Registers aFunctionthat defines the Event Processing Group name to assign Event Handler beans to when no other, more explicit, rule matches and noProcessingGroupannotation is found.byDefaultAssignHandlerTypesTo(Function<Class<?>, String> assignmentFunction) Registers aFunctionthat defines the Event Processing Group name to assign Event Handler and Saga beans to when no other, more explicit, rule matches and noProcessingGroupannotation is found.configureDefaultStreamableMessageSource(Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> defaultSource) Configures whichStreamableMessageSourceto use for Tracking Event Processors if none was explicitly provided.configureDefaultSubscribableMessageSource(Function<Configuration, SubscribableMessageSource<EventMessage<?>>> defaultSource) Configures whichSubscribableMessageSourceto use for Subscribing Event Processors if none was explicitly provided.deadLetterPolicy(String processingGroup) deadLetterQueue(String processingGroup) errorHandler(String processorName) Returns theErrorHandlertied to the givenprocessorName.<T extends EventProcessor>
Optional<T> eventProcessorByProcessingGroup(String processingGroup) Obtains anEventProcessorby it'sprocessingGroup.Obtains all registeredEventProcessors.voidinitialize(Configuration configuration) Initialize the module configuration using the given globalconfig.List<MessageHandlerInterceptor<? super EventMessage<?>>> interceptorsFor(String processorName) listenerInvocationErrorHandler(String processingGroup) Returns theListenerInvocationErrorHandlertied to the givenprocessingGroup.MessageMonitor<? super Message<?>> messageMonitor(Class<?> componentType, String eventProcessorName) Returns theMessageMonitorset to the givencomponentTypeandcomponentNameregistered within this configuration.protected static StringpackageOfObject(Object object) Gets the package name from the class of the given object.protected EventProcessorpooledStreamingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, Configuration config, StreamableMessageSource<TrackedEventMessage<?>> messageSource, EventProcessingConfigurer.PooledStreamingProcessorConfiguration processorConfiguration) DefaultPooledStreamingEventProcessorconfiguration based on this configure module.registerDeadLetteringEventHandlerInvokerConfiguration(String processingGroup, EventProcessingConfigurer.DeadLetteringInvokerConfiguration configuration) Register aEventProcessingConfigurer.DeadLetteringInvokerConfigurationfor the givenprocessingGroup.registerDeadLetterPolicy(String processingGroup, Function<Configuration, EnqueuePolicy<EventMessage<?>>> policyBuilder) registerDeadLetterQueue(String processingGroup, Function<Configuration, SequencedDeadLetterQueue<EventMessage<?>>> queueBuilder) Register aSequencedDeadLetterQueuefor the givenprocessingGroup.registerDeadLetterQueueProvider(Function<String, Function<Configuration, SequencedDeadLetterQueue<EventMessage<?>>>> deadLetterQueueProvider) Register the givendeadLetterProvideras a default to build aSequencedDeadLetterQueueforEventProcessors created in this configuration.registerDefaultDeadLetterPolicy(Function<Configuration, EnqueuePolicy<EventMessage<?>>> policyBuilder) Register a defaultdead letter policyfor any processing group using adead letter queue.registerDefaultErrorHandler(Function<Configuration, ErrorHandler> errorHandlerBuilder) Registers aFunctionthat builds the defaultErrorHandler.registerDefaultHandlerInterceptor(BiFunction<Configuration, String, MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder) Register the giveninterceptorBuilderas a default to build aMessageHandlerInterceptorforEventProcessors created in this configuration.registerDefaultListenerInvocationErrorHandler(Function<Configuration, ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder) Registers aFunctionthat builds the defaultListenerInvocationErrorHandler.registerDefaultSequencingPolicy(Function<Configuration, SequencingPolicy<? super EventMessage<?>>> policyBuilder) Registers theSequencingPolicycreated by givenpolicyBuilderto the processing groups for which no explicit policy is defined (usingEventProcessingConfigurer.registerSequencingPolicy(String, Function)).registerDefaultTransactionManager(Function<Configuration, TransactionManager> transactionManagerBuilder) Registers a defaultTransactionManagerfor allEventProcessors.registerErrorHandler(String eventProcessorName, Function<Configuration, ErrorHandler> errorHandlerBuilder) registerEventHandler(Function<Configuration, Object> eventHandlerBuilder) Registers aFunctionthat builds an Event Handler instance.registerEventProcessor(String name, EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder) Registers anEventProcessingConfigurer.EventProcessorBuilderfor the given processorname.registerEventProcessorFactory(EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder) Registers a factory that builds the defaultEventProcessor.registerHandlerInterceptor(String processorName, Function<Configuration, MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder) Register the giveninterceptorBuilderto build aMessageHandlerInterceptorfor theEventProcessorwith givenprocessorName.registerListenerInvocationErrorHandler(String processingGroup, Function<Configuration, ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder) registerMessageMonitorFactory(String eventProcessorName, MessageMonitorFactory messageMonitorFactory) registerPooledStreamingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> messageSource, EventProcessingConfigurer.PooledStreamingProcessorConfiguration processorConfiguration) Registers aPooledStreamingEventProcessorin thisEventProcessingConfigurer.registerPooledStreamingEventProcessorConfiguration(String name, EventProcessingConfigurer.PooledStreamingProcessorConfiguration pooledStreamingProcessorConfiguration) Register aEventProcessingConfigurer.PooledStreamingProcessorConfigurationto be used when constructing aPooledStreamingEventProcessorwithname.registerPooledStreamingEventProcessorConfiguration(EventProcessingConfigurer.PooledStreamingProcessorConfiguration pooledStreamingProcessorConfiguration) Register a defaultEventProcessingConfigurer.PooledStreamingProcessorConfigurationto be used when constructing everyPooledStreamingEventProcessor.registerRollbackConfiguration(String name, Function<Configuration, RollbackConfiguration> rollbackConfigurationBuilder) registerSaga(Class<T> sagaType, Consumer<SagaConfigurer<T>> sagaConfigurer) Registers a Saga, allowing specific configuration to use for this Saga type.registerSagaStore(Function<Configuration, SagaStore> sagaStoreBuilder) registerSequencingPolicy(String processingGroup, Function<Configuration, SequencingPolicy<? super EventMessage<?>>> policyBuilder) Registers theSequencingPolicycreated by the givenpolicyBuilderto the processing group with givenprocessingGroup.registerSubscribingEventProcessor(String name, Function<Configuration, SubscribableMessageSource<? extends EventMessage<?>>> messageSource) registerTokenStore(String processorName, Function<Configuration, TokenStore> tokenStore) registerTokenStore(Function<Configuration, TokenStore> tokenStore) Register aFunctionthat builds aTokenStoreto use as the default in case no explicit token store was configured for a processor.registerTrackingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> source) registerTrackingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> source, Function<Configuration, TrackingEventProcessorConfiguration> processorConfiguration) Registers aTrackingEventProcessorwith givenname,sourceandprocessorConfigurationwithin this Configurer.registerTrackingEventProcessorConfiguration(String name, Function<Configuration, TrackingEventProcessorConfiguration> trackingEventProcessorConfigurationBuilder) Register aFunctionthat builds aTrackingEventProcessorConfigurationto be used by theEventProcessorcorresponding to the givenname.registerTrackingEventProcessorConfiguration(Function<Configuration, TrackingEventProcessorConfiguration> trackingEventProcessorConfigurationBuilder) Register aFunctionthat builds aTrackingEventProcessorConfigurationto use as the default.registerTransactionManager(String name, Function<Configuration, TransactionManager> transactionManagerBuilder) rollbackConfiguration(String processorName) Returns theRollbackConfigurationtied to the givenprocessorName.Returns aListofSagaConfigurations registered within this configuration.sagaProcessingGroup(Class<?> sagaType) Gets the processing group for givensagaType.Returns aSagaStoreregistered within this configuration.sequencedDeadLetterProcessor(String processingGroup) SequencingPolicy<? super EventMessage<?>> sequencingPolicy(String processingGroup) Returns theSequencingPolicytied to the givenprocessingGroup.protected EventProcessorsubscribingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, SubscribableMessageSource<? extends EventMessage<?>> messageSource) DefaultSubscribingEventProcessorconfiguration based on this configure module.tokenStore(String processorName) Returns theTokenStoretied to the givenprocessorName.protected EventProcessortrackingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, TrackingEventProcessorConfiguration config, StreamableMessageSource<TrackedEventMessage<?>> source) DefaultTrackingEventProcessorconfiguration based on this configure module.transactionManager(String processorName) Returns theTransactionManagertied to the givenprocessorName.Defaults Event Processors builders to usePooledStreamingEventProcessor.Defaults Event Processors builders to useSubscribingEventProcessor.usingSubscribingEventProcessors(EventProcessingConfigurer.SubscribableMessageSourceDefinitionBuilder defaultSource) If this method is invoked, Subscribing Event Processors will be created for all processing groups if none was explicitly provided.Defaults Event Processors builders to useTrackingEventProcessor.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.axonframework.config.EventProcessingConfiguration
eventProcessor, eventProcessor, eventProcessorByProcessingGroup, sagaConfiguration, sagaEventProcessorMethods inherited from interface org.axonframework.config.EventProcessingConfigurer
assignHandlerInstancesMatching, assignHandlerTypesMatching, byDefaultAssignTo, registerMessageMonitor, registerPooledStreamingEventProcessor, registerPooledStreamingEventProcessor, registerSaga, registerSubscribingEventProcessor, registerTrackingEventProcessor, usingPooledStreamingEventProcessors
-
Field Details
-
eventProcessors
-
deadLetteringEventHandlerInvokers
-
defaultHandlerInterceptors
protected final List<BiFunction<Configuration,String, defaultHandlerInterceptorsMessageHandlerInterceptor<? super EventMessage<?>>>> -
handlerInterceptorsBuilders
protected final Map<String,List<Function<Configuration, handlerInterceptorsBuildersMessageHandlerInterceptor<? super EventMessage<?>>>>> -
listenerInvocationErrorHandlers
protected final Map<String,Component<ListenerInvocationErrorHandler>> listenerInvocationErrorHandlers -
errorHandlers
-
sequencingPolicies
-
messageMonitorFactories
-
tokenStore
-
rollbackConfigurations
-
transactionManagers
-
deadLetterQueues
-
deadLetterPolicies
-
tepConfigs
-
psepConfigs
protected final Map<String,EventProcessingConfigurer.PooledStreamingProcessorConfiguration> psepConfigs -
deadLetteringInvokerConfigs
protected final Map<String,EventProcessingConfigurer.DeadLetteringInvokerConfiguration> deadLetteringInvokerConfigs -
deadLetterQueueProvider
protected Function<String,Function<Configuration, deadLetterQueueProviderSequencedDeadLetterQueue<EventMessage<?>>>> -
configuration
-
-
Constructor Details
-
EventProcessingModule
public EventProcessingModule()
-
-
Method Details
-
initialize
Description copied from interface:ModuleConfigurationInitialize the module configuration using the given globalconfig. Any specific start up or shut down processes should be added here by using the providedconfigand invokeLifecycleOperations.onStart(int, LifecycleHandler)andLifecycleOperations.onShutdown(int, LifecycleHandler)respectively.- Specified by:
initializein interfaceModuleConfiguration- Parameters:
configuration- the global configuration, providing access to generic components
-
eventProcessorByProcessingGroup
public <T extends EventProcessor> Optional<T> eventProcessorByProcessingGroup(String processingGroup) Description copied from interface:EventProcessingConfigurationObtains anEventProcessorby it'sprocessingGroup.- Specified by:
eventProcessorByProcessingGroupin interfaceEventProcessingConfiguration- Type Parameters:
T- the type of the expectedEventProcessor- Parameters:
processingGroup- aStringspecifying the processing group of anEventProcessor- Returns:
- an
Optionalreferencing theEventProcessor
-
eventProcessors
Description copied from interface:EventProcessingConfigurationObtains all registeredEventProcessors.- Specified by:
eventProcessorsin interfaceEventProcessingConfiguration- Returns:
- a
Mapof registeredEventProcessors within this configuration with the processor names as keys
-
sagaProcessingGroup
Description copied from interface:EventProcessingConfigurationGets the processing group for givensagaType.- Specified by:
sagaProcessingGroupin interfaceEventProcessingConfiguration- Parameters:
sagaType- the type of Saga- Returns:
- the processing group
-
interceptorsFor
public List<MessageHandlerInterceptor<? super EventMessage<?>>> interceptorsFor(String processorName) Description copied from interface:EventProcessingConfiguration- Specified by:
interceptorsForin interfaceEventProcessingConfiguration- Parameters:
processorName- aStringspecifying a processing group- Returns:
- a
ListofMessageHandlerInterceptors for a processor with givenprocessorName
-
listenerInvocationErrorHandler
Description copied from interface:EventProcessingConfigurationReturns theListenerInvocationErrorHandlertied to the givenprocessingGroup.- Specified by:
listenerInvocationErrorHandlerin interfaceEventProcessingConfiguration- Parameters:
processingGroup- aStringspecifying a processing group- Returns:
- the
ListenerInvocationErrorHandlerbelonging to the givenprocessingGroup
-
sequencingPolicy
Description copied from interface:EventProcessingConfigurationReturns theSequencingPolicytied to the givenprocessingGroup.- Specified by:
sequencingPolicyin interfaceEventProcessingConfiguration- Parameters:
processingGroup- aStringspecifying a processing group- Returns:
- the
SequencingPolicybelonging to the givenprocessingGroup
-
rollbackConfiguration
Description copied from interface:EventProcessingConfigurationReturns theRollbackConfigurationtied to the givenprocessorName.- Specified by:
rollbackConfigurationin interfaceEventProcessingConfiguration- Parameters:
processorName- aStringspecifying a processing group- Returns:
- the
RollbackConfigurationbelonging to the givenprocessorName
-
errorHandler
Description copied from interface:EventProcessingConfigurationReturns theErrorHandlertied to the givenprocessorName.- Specified by:
errorHandlerin interfaceEventProcessingConfiguration- Parameters:
processorName- aStringspecifying a processing group- Returns:
- the
ErrorHandlerbelonging to the givenprocessorName
-
sagaStore
Description copied from interface:EventProcessingConfigurationReturns aSagaStoreregistered within this configuration.- Specified by:
sagaStorein interfaceEventProcessingConfiguration- Returns:
- a
SagaStoreregistered within this configuration
-
sagaConfigurations
Description copied from interface:EventProcessingConfigurationReturns aListofSagaConfigurations registered within this configuration.- Specified by:
sagaConfigurationsin interfaceEventProcessingConfiguration- Returns:
- a
ListofSagaConfigurations registered within this configuration
-
messageMonitor
public MessageMonitor<? super Message<?>> messageMonitor(Class<?> componentType, String eventProcessorName) Description copied from interface:EventProcessingConfigurationReturns theMessageMonitorset to the givencomponentTypeandcomponentNameregistered within this configuration.- Specified by:
messageMonitorin interfaceEventProcessingConfiguration- Parameters:
componentType- aClasstype of component to be monitoredeventProcessorName- aStringspecifying the name of the component to be monitored- Returns:
- the
MessageMonitorregistered to the givencomponentTypeandcomponentName
-
tokenStore
Description copied from interface:EventProcessingConfigurationReturns theTokenStoretied to the givenprocessorName.- Specified by:
tokenStorein interfaceEventProcessingConfiguration- Parameters:
processorName- aStringspecifying a event processor- Returns:
- the
TokenStorebelonging to the givenprocessorName
-
transactionManager
Description copied from interface:EventProcessingConfigurationReturns theTransactionManagertied to the givenprocessorName.- Specified by:
transactionManagerin interfaceEventProcessingConfiguration- Parameters:
processorName- aStringspecifying a processing group- Returns:
- the
TransactionManagerbelonging to the givenprocessorName
-
deadLetterQueue
public Optional<SequencedDeadLetterQueue<EventMessage<?>>> deadLetterQueue(@Nonnull String processingGroup) Description copied from interface:EventProcessingConfigurationReturns theSequencedDeadLetterQueuetied to the givenprocessingGroupin anOptional. May return anempty optionalwhen there's noSequencedDeadLetterQueuepresent for the givenprocessingGroup.- Specified by:
deadLetterQueuein interfaceEventProcessingConfiguration- Parameters:
processingGroup- The name of the processing group for which to return aSequencedDeadLetterQueue.- Returns:
- The
SequencedDeadLetterQueuetied to the givenprocessingGroup,Optional.empty()if there is none.
-
deadLetterPolicy
Description copied from interface:EventProcessingConfigurationReturns thedead letter policytied to the givenprocessingGroupin anOptional. May return anOptionalcontaining thedefault policyif present.- Specified by:
deadLetterPolicyin interfaceEventProcessingConfiguration- Parameters:
processingGroup- The name of the processing group for which to return anEnqueuePolicy.- Returns:
- The
EnqueuePolicybelonging to the givenprocessingGroup.
-
sequencedDeadLetterProcessor
public Optional<SequencedDeadLetterProcessor<EventMessage<?>>> sequencedDeadLetterProcessor(@Nonnull String processingGroup) Description copied from interface:EventProcessingConfigurationReturns theSequencedDeadLetterProcessortied to the givenprocessingGroupin anOptional. Returns anempty optionalwhen theprocessingGroupdoes not have aSequencedDeadLetterQueueattached to it.- Specified by:
sequencedDeadLetterProcessorin interfaceEventProcessingConfiguration- Parameters:
processingGroup- The name of the processing group for which to return anEnqueuePolicy.- Returns:
- The
SequencedDeadLetterProcessortied to the givenprocessingGroupin anOptional,Optional.empty()if there is none.
-
registerSaga
public <T> EventProcessingConfigurer registerSaga(Class<T> sagaType, Consumer<SagaConfigurer<T>> sagaConfigurer) Description copied from interface:EventProcessingConfigurerRegisters a Saga, allowing specific configuration to use for this Saga type.- Specified by:
registerSagain interfaceEventProcessingConfigurer- Type Parameters:
T- The type of Saga to configure- Parameters:
sagaType- The type of Saga to configuresagaConfigurer- a function providing modifications on top of the default configuration- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerSagaStore
public EventProcessingConfigurer registerSagaStore(Function<Configuration, SagaStore> sagaStoreBuilder) Description copied from interface:EventProcessingConfigurer- Specified by:
registerSagaStorein interfaceEventProcessingConfigurer- Parameters:
sagaStoreBuilder- aFunctionthat builds aSagaStore- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerEventHandler
public EventProcessingConfigurer registerEventHandler(Function<Configuration, Object> eventHandlerBuilder) Description copied from interface:EventProcessingConfigurerRegisters aFunctionthat builds an Event Handler instance.- Specified by:
registerEventHandlerin interfaceEventProcessingConfigurer- Parameters:
eventHandlerBuilder- aFunctionthat builds an Event Handler instance- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDefaultListenerInvocationErrorHandler
public EventProcessingConfigurer registerDefaultListenerInvocationErrorHandler(Function<Configuration, ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder) Description copied from interface:EventProcessingConfigurerRegisters aFunctionthat builds the defaultListenerInvocationErrorHandler. Defaults to aLoggingErrorHandler.- Specified by:
registerDefaultListenerInvocationErrorHandlerin interfaceEventProcessingConfigurer- Parameters:
listenerInvocationErrorHandlerBuilder- aFunctionthat builds the defaultListenerInvocationErrorHandler- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerListenerInvocationErrorHandler
public EventProcessingConfigurer registerListenerInvocationErrorHandler(String processingGroup, Function<Configuration, ListenerInvocationErrorHandler> listenerInvocationErrorHandlerBuilder) Description copied from interface:EventProcessingConfigurer- Specified by:
registerListenerInvocationErrorHandlerin interfaceEventProcessingConfigurer- Parameters:
processingGroup- aStringspecifying the name of a processing grouplistenerInvocationErrorHandlerBuilder- aFunctionthat buildsListenerInvocationErrorHandler- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
configureDefaultStreamableMessageSource
public EventProcessingConfigurer configureDefaultStreamableMessageSource(Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> defaultSource) Description copied from interface:EventProcessingConfigurerConfigures whichStreamableMessageSourceto use for Tracking Event Processors if none was explicitly provided. Defaults to the Event Bus (or Store) available in the Configuration.Note that the configuration of a default source does not change how the decision is made to select the type of processor. Unless explicitly specified using
EventProcessingConfigurer.usingSubscribingEventProcessors()orEventProcessingConfigurer.usingTrackingEventProcessors(), the default is dependent on the type of Message Source the Event Bus provides. If the Event Bus supports Tracking Processors, that is the default, otherwise Subscribing Event Processors are the default.- Specified by:
configureDefaultStreamableMessageSourcein interfaceEventProcessingConfigurer- Parameters:
defaultSource- a Function that defines the Message source to use- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
configureDefaultSubscribableMessageSource
public EventProcessingConfigurer configureDefaultSubscribableMessageSource(Function<Configuration, SubscribableMessageSource<EventMessage<?>>> defaultSource) Description copied from interface:EventProcessingConfigurerConfigures whichSubscribableMessageSourceto use for Subscribing Event Processors if none was explicitly provided. Defaults to the Event Bus (or Store) available in the Configuration.Note that the configuration of a default source does not change how the decision is made to select the type of processor. Unless explicitly specified using
EventProcessingConfigurer.usingSubscribingEventProcessors()orEventProcessingConfigurer.usingTrackingEventProcessors(), the default is dependent on the type of Message Source the Event Bus provides. If the Event Bus supports Tracking Processors, that is the default, otherwise Subscribing Event Processors are the default.- Specified by:
configureDefaultSubscribableMessageSourcein interfaceEventProcessingConfigurer- Parameters:
defaultSource- a Function that defines the Message source to use- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTrackingEventProcessor
public EventProcessingConfigurer registerTrackingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> source) Description copied from interface:EventProcessingConfigurer- Specified by:
registerTrackingEventProcessorin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of theTrackingEventProcessorbeing registeredsource- aFunctionthat builds aStreamableMessageSource- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTrackingEventProcessor
public EventProcessingConfigurer registerTrackingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> source, Function<Configuration, TrackingEventProcessorConfiguration> processorConfiguration) Description copied from interface:EventProcessingConfigurerRegisters aTrackingEventProcessorwith givenname,sourceandprocessorConfigurationwithin this Configurer.- Specified by:
registerTrackingEventProcessorin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of theTrackingEventProcessorbeing registeredsource- aFunctionthat buildsStreamableMessageSourceprocessorConfiguration- aFunctionthat builds aTrackingEventProcessorConfiguration- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerEventProcessorFactory
public EventProcessingConfigurer registerEventProcessorFactory(EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder) Description copied from interface:EventProcessingConfigurerRegisters a factory that builds the defaultEventProcessor. This is theEventProcessingConfigurer.EventProcessorBuilderto be used when there is no specific builder for given processor name.- Specified by:
registerEventProcessorFactoryin interfaceEventProcessingConfigurer- Parameters:
eventProcessorBuilder- aFunctionthat builds anEventProcessor- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerEventProcessor
public EventProcessingConfigurer registerEventProcessor(String name, EventProcessingConfigurer.EventProcessorBuilder eventProcessorBuilder) Description copied from interface:EventProcessingConfigurerRegisters anEventProcessingConfigurer.EventProcessorBuilderfor the given processorname.- Specified by:
registerEventProcessorin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of theEventProcessorbeing registeredeventProcessorBuilder- aFunctionthat builds anEventProcessor- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTokenStore
public EventProcessingConfigurer registerTokenStore(String processorName, Function<Configuration, TokenStore> tokenStore) Description copied from interface:EventProcessingConfigurer- Specified by:
registerTokenStorein interfaceEventProcessingConfigurer- Parameters:
processorName- aStringspecifying the name of a event processortokenStore- aFunctionthat builds aTokenStore- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTokenStore
Description copied from interface:EventProcessingConfigurerRegister aFunctionthat builds aTokenStoreto use as the default in case no explicit token store was configured for a processor.- Specified by:
registerTokenStorein interfaceEventProcessingConfigurer- Parameters:
tokenStore- aFunctionthat builds aTokenStore- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
usingSubscribingEventProcessors
Description copied from interface:EventProcessingConfigurerDefaults Event Processors builders to useSubscribingEventProcessor.The default behavior depends on the EventBus available in the Configuration. If the Event Bus is a
StreamableMessageSource, processors are Tracking by default. This method must be used to force the use of Subscribing Processors, unless specifically overridden for individual processors.- Specified by:
usingSubscribingEventProcessorsin interfaceEventProcessingConfigurer- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
usingTrackingEventProcessors
Description copied from interface:EventProcessingConfigurerDefaults Event Processors builders to useTrackingEventProcessor.The default behavior depends on the EventBus available in the Configuration. If the Event Bus is a
StreamableMessageSource, processors are Tracking by default. This method must be used to force the use of Tracking Processors, unless specifically overridden for individual processors.- Specified by:
usingTrackingEventProcessorsin interfaceEventProcessingConfigurer- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
usingPooledStreamingEventProcessors
Description copied from interface:EventProcessingConfigurerDefaults Event Processors builders to usePooledStreamingEventProcessor.The default behavior depends on the
EventBusavailable in theConfiguration. If theEventBusis aStreamableMessageSource, processors are Tracking by default. This method must be used to force the use of Pooled Streaming Processors, unless specifically overridden for individual processors.- Specified by:
usingPooledStreamingEventProcessorsin interfaceEventProcessingConfigurer- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerSubscribingEventProcessor
public EventProcessingConfigurer registerSubscribingEventProcessor(String name, Function<Configuration, SubscribableMessageSource<? extends EventMessage<?>>> messageSource) Description copied from interface:EventProcessingConfigurer- Specified by:
registerSubscribingEventProcessorin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecyfing the name of theSubscribingEventProcessorbeing registeredmessageSource- aFunctionthat builds aSubscribableMessageSource- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDefaultErrorHandler
public EventProcessingConfigurer registerDefaultErrorHandler(Function<Configuration, ErrorHandler> errorHandlerBuilder) Description copied from interface:EventProcessingConfigurer- Specified by:
registerDefaultErrorHandlerin interfaceEventProcessingConfigurer- Parameters:
errorHandlerBuilder- aFunctionthat builds anErrorHandler- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerErrorHandler
public EventProcessingConfigurer registerErrorHandler(String eventProcessorName, Function<Configuration, ErrorHandler> errorHandlerBuilder) Description copied from interface:EventProcessingConfigurer- Specified by:
registerErrorHandlerin interfaceEventProcessingConfigurer- Parameters:
eventProcessorName- aStringspecifying the name of anEventProcessorerrorHandlerBuilder- aFunctionthat builds anErrorHandler- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
byDefaultAssignHandlerInstancesTo
public EventProcessingConfigurer byDefaultAssignHandlerInstancesTo(Function<Object, String> assignmentFunction) Description copied from interface:EventProcessingConfigurerRegisters aFunctionthat defines the Event Processing Group name to assign Event Handler beans to when no other, more explicit, rule matches and noProcessingGroupannotation is found.- Specified by:
byDefaultAssignHandlerInstancesToin interfaceEventProcessingConfigurer- Parameters:
assignmentFunction- aFunctionthat returns the Processing Group for each Event Handler bean- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
byDefaultAssignHandlerTypesTo
public EventProcessingConfigurer byDefaultAssignHandlerTypesTo(Function<Class<?>, String> assignmentFunction) Description copied from interface:EventProcessingConfigurerRegisters aFunctionthat defines the Event Processing Group name to assign Event Handler and Saga beans to when no other, more explicit, rule matches and noProcessingGroupannotation is found.- Specified by:
byDefaultAssignHandlerTypesToin interfaceEventProcessingConfigurer- Parameters:
assignmentFunction- aFunctionthat returns the Processing Group for each Event Handler or Saga bean- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
assignHandlerInstancesMatching
public EventProcessingConfigurer assignHandlerInstancesMatching(String processingGroup, int priority, Predicate<Object> criteria) Description copied from interface:EventProcessingConfigurerConfigures a rule to assign Event Handler beans that match the givencriteriato the Processing Group with givenname, with givenpriority. Rules with higher value ofprioritytake 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.
- Specified by:
assignHandlerInstancesMatchingin interfaceEventProcessingConfigurer- Parameters:
processingGroup- aStringspecifying the name of a processing group to assign matching Event Handlers topriority- The priority for this rulecriteria- aPredicatedefining the criteria for an Event Handler to match- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
assignHandlerTypesMatching
public EventProcessingConfigurer assignHandlerTypesMatching(String processingGroup, int priority, Predicate<Class<?>> criteria) Description copied from interface:EventProcessingConfigurerConfigures a rule to assign Event Handler beans that match the givencriteriato the Processing Group with givenname, with givenpriority. Rules with higher value ofprioritytake 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.
- Specified by:
assignHandlerTypesMatchingin interfaceEventProcessingConfigurer- Parameters:
processingGroup- aStringspecifying the name of the Processing Group to assign matching Event Handlers or Sagas topriority- anintspecifying the priority of this rulecriteria- aPredicatedefining the criteria for an Event Handler or Saga to match- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
assignProcessingGroup
public EventProcessingConfigurer assignProcessingGroup(String processingGroup, String processorName) Description copied from interface:EventProcessingConfigurerDefines a mapping for assigning processing groups to processors.- Specified by:
assignProcessingGroupin interfaceEventProcessingConfigurer- Parameters:
processingGroup- aStringspecifying the processing group to be assignedprocessorName- aStringspecifying the processor name to assign the group to- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
assignProcessingGroup
Description copied from interface:EventProcessingConfigurerDefines a rule for assigning processing groups to processors if processing group to processor name mapping does not contain the entry.- Specified by:
assignProcessingGroupin interfaceEventProcessingConfigurer- Parameters:
assignmentRule- aFunctionwhich takes a processing group and returns a processor name- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing - See Also:
-
registerHandlerInterceptor
public EventProcessingConfigurer registerHandlerInterceptor(String processorName, Function<Configuration, MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder) Description copied from interface:EventProcessingConfigurerRegister the giveninterceptorBuilderto build aMessageHandlerInterceptorfor theEventProcessorwith givenprocessorName.The
interceptorBuildermay returnnull, in which case the return value is ignored.- Specified by:
registerHandlerInterceptorin interfaceEventProcessingConfigurer- Parameters:
processorName- aStringspecyfing the name of the processor to register theMessageHandlerInterceptoroninterceptorBuilder- aFunctionproviding theMessageHandlerInterceptorto register, ornull- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDefaultHandlerInterceptor
public EventProcessingConfigurer registerDefaultHandlerInterceptor(BiFunction<Configuration, String, MessageHandlerInterceptor<? super EventMessage<?>>> interceptorBuilder) Description copied from interface:EventProcessingConfigurerRegister the giveninterceptorBuilderas a default to build aMessageHandlerInterceptorforEventProcessors created in this configuration.The
interceptorBuilderis invoked once for each processor created, and may returnnull, in which case the return value is ignored.- Specified by:
registerDefaultHandlerInterceptorin interfaceEventProcessingConfigurer- Parameters:
interceptorBuilder- a builderFunctionthat provides aMessageHandlerInterceptorfor each available processor- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerSequencingPolicy
public EventProcessingConfigurer registerSequencingPolicy(String processingGroup, Function<Configuration, SequencingPolicy<? super EventMessage<?>>> policyBuilder) Description copied from interface:EventProcessingConfigurerRegisters theSequencingPolicycreated by the givenpolicyBuilderto the processing group with givenprocessingGroup. Any previously configured policy for the same name will be overwritten.- Specified by:
registerSequencingPolicyin interfaceEventProcessingConfigurer- Parameters:
processingGroup- aStringspecifying the name of the processing group to assign theSequencingPolicyforpolicyBuilder- a builderFunctionto create theSequencingPolicyto use- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDefaultSequencingPolicy
public EventProcessingConfigurer registerDefaultSequencingPolicy(Function<Configuration, SequencingPolicy<? super EventMessage<?>>> policyBuilder) Description copied from interface:EventProcessingConfigurerRegisters theSequencingPolicycreated by givenpolicyBuilderto the processing groups for which no explicit policy is defined (usingEventProcessingConfigurer.registerSequencingPolicy(String, Function)).Defaults to a
SequentialPerAggregatePolicy.- Specified by:
registerDefaultSequencingPolicyin interfaceEventProcessingConfigurer- Parameters:
policyBuilder- a builderFunctionto create theSequencingPolicyto use- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerMessageMonitorFactory
public EventProcessingConfigurer registerMessageMonitorFactory(String eventProcessorName, MessageMonitorFactory messageMonitorFactory) Description copied from interface:EventProcessingConfigurer- Specified by:
registerMessageMonitorFactoryin interfaceEventProcessingConfigurer- Parameters:
eventProcessorName- aStringspecifying the name of anEventProcessormessageMonitorFactory- aMessageMonitorFactoryused to create aMessageMonitor- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerRollbackConfiguration
public EventProcessingConfigurer registerRollbackConfiguration(String name, Function<Configuration, RollbackConfiguration> rollbackConfigurationBuilder) Description copied from interface:EventProcessingConfigurerRegisters aFunctionthat builds theRollbackConfigurationfor given processorname. Defaults to aRollbackConfigurationType.ANY_THROWABLE- Specified by:
registerRollbackConfigurationin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of anEventProcessorrollbackConfigurationBuilder- aFunctionthat builds aRollbackConfiguration- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTransactionManager
public EventProcessingConfigurer registerTransactionManager(String name, Function<Configuration, TransactionManager> transactionManagerBuilder) Description copied from interface:EventProcessingConfigurer- Specified by:
registerTransactionManagerin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of anEventProcessortransactionManagerBuilder- aFunctionthat builds aTransactionManager- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDefaultTransactionManager
public EventProcessingConfigurer registerDefaultTransactionManager(Function<Configuration, TransactionManager> transactionManagerBuilder) Description copied from interface:EventProcessingConfigurerRegisters a defaultTransactionManagerfor allEventProcessors. The providedTransactionManageris used whenever no processor specificTransactionManageris configured.- Specified by:
registerDefaultTransactionManagerin interfaceEventProcessingConfigurer- Parameters:
transactionManagerBuilder- aFunctionthat builds aTransactionManager- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTrackingEventProcessorConfiguration
public EventProcessingConfigurer registerTrackingEventProcessorConfiguration(String name, Function<Configuration, TrackingEventProcessorConfiguration> trackingEventProcessorConfigurationBuilder) Description copied from interface:EventProcessingConfigurerRegister aFunctionthat builds aTrackingEventProcessorConfigurationto be used by theEventProcessorcorresponding to the givenname.- Specified by:
registerTrackingEventProcessorConfigurationin interfaceEventProcessingConfigurer- Parameters:
name- aStringspecifying the name of anEventProcessortrackingEventProcessorConfigurationBuilder- aFunctionthat builds aTrackingEventProcessorConfiguration- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerTrackingEventProcessorConfiguration
public EventProcessingConfigurer registerTrackingEventProcessorConfiguration(Function<Configuration, TrackingEventProcessorConfiguration> trackingEventProcessorConfigurationBuilder) Description copied from interface:EventProcessingConfigurerRegister aFunctionthat builds aTrackingEventProcessorConfigurationto use as the default.- Specified by:
registerTrackingEventProcessorConfigurationin interfaceEventProcessingConfigurer- Parameters:
trackingEventProcessorConfigurationBuilder- aFunctionthat builds aTrackingEventProcessorConfiguration- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerPooledStreamingEventProcessor
public EventProcessingConfigurer registerPooledStreamingEventProcessor(String name, Function<Configuration, StreamableMessageSource<TrackedEventMessage<?>>> messageSource, EventProcessingConfigurer.PooledStreamingProcessorConfiguration processorConfiguration) Description copied from interface:EventProcessingConfigurerRegisters aPooledStreamingEventProcessorin thisEventProcessingConfigurer. The processor will receive the givennameand use the outcome of themessageSourceas theStreamableMessageSource.The
processorConfigurationwill be used to further configure thePooledStreamingEventProcessorupon construction. Note that theprocessorConfigurationwill override any configuration set through theEventProcessingConfigurer.registerPooledStreamingEventProcessorConfiguration(PooledStreamingProcessorConfiguration)andEventProcessingConfigurer.registerPooledStreamingEventProcessorConfiguration(String, PooledStreamingProcessorConfiguration).- Specified by:
registerPooledStreamingEventProcessorin interfaceEventProcessingConfigurer- Parameters:
name- the name of thePooledStreamingEventProcessorbeing registeredmessageSource- constructs aStreamableMessageSourceto be used by thePooledStreamingEventProcessorprocessorConfiguration- allows further customization of thePooledStreamingEventProcessorunder construction. The givenConfigurationcan be used to extract components and use them in thePooledStreamingEventProcessor.Builder- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerPooledStreamingEventProcessorConfiguration
public EventProcessingConfigurer registerPooledStreamingEventProcessorConfiguration(String name, EventProcessingConfigurer.PooledStreamingProcessorConfiguration pooledStreamingProcessorConfiguration) Description copied from interface:EventProcessingConfigurerRegister aEventProcessingConfigurer.PooledStreamingProcessorConfigurationto be used when constructing aPooledStreamingEventProcessorwithname.- Specified by:
registerPooledStreamingEventProcessorConfigurationin interfaceEventProcessingConfigurer- Parameters:
name- the name of anPooledStreamingEventProcessorpooledStreamingProcessorConfiguration- configuration used when constructing aPooledStreamingEventProcessorwith the givenname- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDeadLetterQueue
public EventProcessingConfigurer registerDeadLetterQueue(@Nonnull String processingGroup, @Nonnull Function<Configuration, SequencedDeadLetterQueue<EventMessage<?>>> queueBuilder) Description copied from interface:EventProcessingConfigurerRegister aSequencedDeadLetterQueuefor the givenprocessingGroup. TheSequencedDeadLetterQueuewill automatically enqueue failed events and evaluate them per the queue's configuration.- Specified by:
registerDeadLetterQueuein interfaceEventProcessingConfigurer- Parameters:
processingGroup- AStringspecifying the name of the processing group to register the givenSequencedDeadLetterQueuefor.queueBuilder- A builder method returning aSequencedDeadLetterQueuebased on aConfiguration. The outcome is used by the givenprocessingGroupto enqueue and evaluate failed events in.- Returns:
- The current
EventProcessingConfigurerinstance, for fluent interfacing.
-
registerDefaultDeadLetterPolicy
public EventProcessingConfigurer registerDefaultDeadLetterPolicy(@Nonnull Function<Configuration, EnqueuePolicy<EventMessage<?>>> policyBuilder) Description copied from interface:EventProcessingConfigurerRegister a defaultdead letter policyfor any processing group using adead letter queue. The processing group uses the policy to deduce whether a failedEventMessageshould beenqueuedfor later evaluation.Note that the configured component will not be used if the processing group does not have a dead letter queue.
- Specified by:
registerDefaultDeadLetterPolicyin interfaceEventProcessingConfigurer- Parameters:
policyBuilder- A builder method to construct a defaultdead letter policy.- Returns:
- The current
EventProcessingConfigurerinstance, for fluent interfacing.
-
registerDeadLetterPolicy
public EventProcessingConfigurer registerDeadLetterPolicy(@Nonnull String processingGroup, @Nonnull Function<Configuration, EnqueuePolicy<EventMessage<?>>> policyBuilder) Description copied from interface:EventProcessingConfigurerRegister adead letter policyfor the givenprocessingGroupusing adead letter queue. The processing group uses the policy to deduce whether a failedEventMessageshould beenqueuedfor later evaluation.Note that the configured component will not be used if the processing group does not have a dead letter queue.
- Specified by:
registerDeadLetterPolicyin interfaceEventProcessingConfigurer- Parameters:
processingGroup- The name of the processing group to build anEnqueuePolicyfor.policyBuilder- A builder method to construct adead letter policyfor the givenprocessingGroup.- Returns:
- The current
EventProcessingConfigurerinstance, for fluent interfacing.
-
registerDeadLetteringEventHandlerInvokerConfiguration
public EventProcessingConfigurer registerDeadLetteringEventHandlerInvokerConfiguration(@Nonnull String processingGroup, @Nonnull EventProcessingConfigurer.DeadLetteringInvokerConfiguration configuration) Description copied from interface:EventProcessingConfigurerRegister aEventProcessingConfigurer.DeadLetteringInvokerConfigurationfor the givenprocessingGroup. This configuration object allows for fine-grained customization of adead lettering processing groupthrough itsbuilder.Note that the configured component will not be used if the processing group does not have a dead letter queue.
- Specified by:
registerDeadLetteringEventHandlerInvokerConfigurationin interfaceEventProcessingConfigurer- Parameters:
processingGroup- The name of the processing group to attach additional configuration too.configuration- The additional configuration for the dead lettering processing group.- Returns:
- The current
EventProcessingConfigurerinstance, for fluent interfacing.
-
registerPooledStreamingEventProcessorConfiguration
public EventProcessingConfigurer registerPooledStreamingEventProcessorConfiguration(EventProcessingConfigurer.PooledStreamingProcessorConfiguration pooledStreamingProcessorConfiguration) Description copied from interface:EventProcessingConfigurerRegister a defaultEventProcessingConfigurer.PooledStreamingProcessorConfigurationto be used when constructing everyPooledStreamingEventProcessor.- Specified by:
registerPooledStreamingEventProcessorConfigurationin interfaceEventProcessingConfigurer- Parameters:
pooledStreamingProcessorConfiguration- configuration used when constructing everyPooledStreamingEventProcessor- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
registerDeadLetterQueueProvider
public EventProcessingConfigurer registerDeadLetterQueueProvider(Function<String, Function<Configuration, SequencedDeadLetterQueue<EventMessage<?>>>> deadLetterQueueProvider) Description copied from interface:EventProcessingConfigurerRegister the givendeadLetterProvideras a default to build aSequencedDeadLetterQueueforEventProcessors created in this configuration.The
deadLetterProvidermight return null if the given processing group name should not have a sequenced dead letter queue. An explicitly sequenced dead letter queue set usingEventProcessingConfigurer.registerDeadLetterQueue(String, Function)will always have precedence over the one provided by this method.- Specified by:
registerDeadLetterQueueProviderin interfaceEventProcessingConfigurer- Parameters:
deadLetterQueueProvider- a builderFunctionthat provides aSequencedDeadLetterQueuefor a processing group. It's possible to return null depending on the processing group.- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-
subscribingEventProcessor
protected EventProcessor subscribingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, SubscribableMessageSource<? extends EventMessage<?>> messageSource) DefaultSubscribingEventProcessorconfiguration based on this configure module.- Parameters:
name- of the processoreventHandlerInvoker- used by the processor for the vent handlingmessageSource- where to retrieve events from- Returns:
- Default
SubscribingEventProcessorconfiguration based on this configure module.
-
trackingEventProcessor
protected EventProcessor trackingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, TrackingEventProcessorConfiguration config, StreamableMessageSource<TrackedEventMessage<?>> source) DefaultTrackingEventProcessorconfiguration based on this configure module.- Parameters:
name- of the processoreventHandlerInvoker- used by the processor for the event handlingconfig- for the tracking event processor constructionsource- where to retrieve events from- Returns:
- Default
TrackingEventProcessorconfiguration based on this configure module.
-
pooledStreamingEventProcessor
protected EventProcessor pooledStreamingEventProcessor(String name, EventHandlerInvoker eventHandlerInvoker, Configuration config, StreamableMessageSource<TrackedEventMessage<?>> messageSource, EventProcessingConfigurer.PooledStreamingProcessorConfiguration processorConfiguration) DefaultPooledStreamingEventProcessorconfiguration based on this configure module.- Parameters:
name- of the processoreventHandlerInvoker- used by the processor for the event handlingconfig- main configuration providing access for Axon componentsmessageSource- where to retrieve events fromprocessorConfiguration- for the pooled event processor construction- Returns:
- Default
PooledStreamingEventProcessorconfiguration based on this configure module.
-
packageOfObject
Gets the package name from the class of the given object.Since class.getPackage() can be null e.g. for generated classes, the package name is determined the old fashioned way based on the full qualified class name.
-
usingSubscribingEventProcessors
public EventProcessingConfigurer usingSubscribingEventProcessors(EventProcessingConfigurer.SubscribableMessageSourceDefinitionBuilder defaultSource) Description copied from interface:EventProcessingConfigurerIf this method is invoked, Subscribing Event Processors will be created for all processing groups if none was explicitly provided.- Specified by:
usingSubscribingEventProcessorsin interfaceEventProcessingConfigurer- Parameters:
defaultSource- a function that createsSubscribableMessageSourceDefinitionfor given processing group name.- Returns:
- the current
EventProcessingConfigurerinstance, for fluent interfacing
-