Package io.awspring.cloud.sqs.listener
Class AbstractPipelineMessageListenerContainer<T,O extends ContainerOptions<O,B>,B extends ContainerOptionsBuilder<B,O>>
java.lang.Object
io.awspring.cloud.sqs.listener.AbstractMessageListenerContainer<T,O,B>
io.awspring.cloud.sqs.listener.AbstractPipelineMessageListenerContainer<T,O,B>
- All Implemented Interfaces:
MessageListenerContainer<T>,Lifecycle,Phased,SmartLifecycle
- Direct Known Subclasses:
SqsMessageListenerContainer
public abstract class AbstractPipelineMessageListenerContainer<T,O extends ContainerOptions<O,B>,B extends ContainerOptionsBuilder<B,O>>
extends AbstractMessageListenerContainer<T,O,B>
Base
MessageListenerContainer implementation for managing Message
instances' lifecycles.
This container uses a MessageSource to create the Message instances,
which are forwarded to a MessageSink and finally emitted to a MessageProcessingPipeline.
The pipeline has several stages for processing the messages and executing logic in components such as
AsyncMessageListener, AsyncErrorHandler and
AsyncMessageInterceptor.
Such components are created by the ContainerComponentFactory and the container manages their lifecycles.
Components and ContainerOptions can be changed at runtime and such changes will be valid upon container
restart.
- Since:
- 3.0
- Author:
- Tomaz Fernandes
-
Field Summary
Fields inherited from interface io.awspring.cloud.sqs.listener.MessageListenerContainer
DEFAULT_PHASE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidconfigureMessageSink(MessageProcessingPipeline<T> messageProcessingPipeline) protected voidconfigureMessageSources(ContainerComponentFactory<T, O> componentFactory) protected BackPressureHandlerprotected abstract Collection<ContainerComponentFactory<T,O>> protected MessageProcessingPipeline<T>createMessageProcessingPipeline(ContainerComponentFactory<T, O> componentFactory) protected MessageSource<T>createMessageSource(String queueName, int index, ContainerComponentFactory<T, O> componentFactory) protected Collection<MessageSource<T>>createMessageSources(ContainerComponentFactory<T, O> componentFactory) protected TaskExecutorprotected TaskExecutorprotected ThreadFactoryprotected voiddoConfigureMessageSink(MessageSink<T> messageSink) protected voiddoConfigureMessageSources(Collection<MessageSource<T>> messageSources) protected voiddoStart()protected voiddoStop()protected TaskExecutorprotected TaskExecutorMethods inherited from class io.awspring.cloud.sqs.listener.AbstractMessageListenerContainer
addMessageInterceptor, addMessageInterceptor, configure, getAcknowledgementResultCallback, getContainerComponentFactories, getContainerOptions, getErrorHandler, getId, getMessageInterceptors, getMessageListener, getPhase, getQueueNames, isAutoStartup, isRunning, setAcknowledgementResultCallback, setAcknowledgementResultCallback, setAsyncMessageListener, setComponentFactories, setErrorHandler, setErrorHandler, setId, setMessageListener, setPhase, setQueueNames, setQueueNames, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.context.SmartLifecycle
stop
-
Constructor Details
-
AbstractPipelineMessageListenerContainer
-
-
Method Details
-
doStart
protected void doStart()- Overrides:
doStartin classAbstractMessageListenerContainer<T,O extends ContainerOptions<O, B>, B extends ContainerOptionsBuilder<B, O>>
-
createDefaultComponentFactories
-
createMessageSources
protected Collection<MessageSource<T>> createMessageSources(ContainerComponentFactory<T, O> componentFactory) -
createMessageSource
protected MessageSource<T> createMessageSource(String queueName, int index, ContainerComponentFactory<T, O> componentFactory) -
configureMessageSources
-
doConfigureMessageSources
-
configureMessageSink
-
doConfigureMessageSink
-
configureContainerComponents
protected void configureContainerComponents() -
createMessageProcessingPipeline
protected MessageProcessingPipeline<T> createMessageProcessingPipeline(ContainerComponentFactory<T, O> componentFactory) -
createBackPressureHandler
-
createSourcesTaskExecutor
-
createTaskExecutor
-
createThreadFactory
-
doStop
protected void doStop()- Overrides:
doStopin classAbstractMessageListenerContainer<T,O extends ContainerOptions<O, B>, B extends ContainerOptionsBuilder<B, O>>
-
getComponentsTaskExecutor
-
getAcknowledgementResultTaskExecutor
-