Class StreamListenerContainer
java.lang.Object
org.springframework.amqp.rabbit.connection.RabbitAccessor
org.springframework.amqp.rabbit.listener.ObservableListenerContainer
org.springframework.rabbit.stream.listener.StreamListenerContainer
- All Implemented Interfaces:
MessageListenerContainer
,Aware
,BeanNameAware
,DisposableBean
,InitializingBean
,ApplicationContextAware
,Lifecycle
,Phased
,SmartLifecycle
A listener container for RabbitMQ Streams.
- Since:
- 2.4
- Author:
- Gary Russell
-
Field Summary
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
ConstructorDescriptionStreamListenerContainer
(com.rabbitmq.stream.Environment environment) Construct an instance using the provided environment.StreamListenerContainer
(com.rabbitmq.stream.Environment environment, com.rabbitmq.stream.Codec codec) Construct an instance using the provided environment and codec. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Get the message listener.boolean
boolean
void
setAdviceChain
(Advice... advices) Set an advice chain to apply to the listener.void
setAutoStartup
(boolean autoStart) Set auto startup.void
setConsumerCustomizer
(ConsumerCustomizer consumerCustomizer) Customize the consumer builder before it is built.void
setObservationConvention
(RabbitStreamListenerObservationConvention observationConvention) Set a RabbitStreamListenerObservationConvention; used to add additional key/values to observations when using aStreamMessageListener
.void
setQueueNames
(String... queueNames) Set the queue names.void
setStreamConverter
(StreamMessageConverter messageConverter) void
setupMessageListener
(MessageListener messageListener) Setup the message listener to use.void
start()
void
stop()
void
superStream
(String streamName, String name) Enable Single Active Consumer on a Super Stream, with one consumer.void
superStream
(String streamName, String name, int consumers) Enable Single Active Consumer on a Super Stream with the provided number of consumers.Methods inherited from class org.springframework.amqp.rabbit.listener.ObservableListenerContainer
checkMicrometer, checkObservation, destroy, getApplicationContext, getBeanName, getListenerId, getMicrometerHolder, setApplicationContext, setBeanName, setListenerId, setMicrometerEnabled, setMicrometerTags, setObservationEnabled
Methods inherited from class org.springframework.amqp.rabbit.connection.RabbitAccessor
convertRabbitAccessException, createConnection, getChannel, getConnection, getConnectionFactory, getObservationRegistry, getTransactionalResourceHolder, isChannelTransacted, obtainObservationRegistry, setChannelTransacted, setConnectionFactory
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.amqp.rabbit.listener.MessageListenerContainer
isConsumerBatchEnabled, lazyLoad
Methods inherited from interface org.springframework.context.SmartLifecycle
getPhase, stop
-
Field Details
-
logger
-
-
Constructor Details
-
StreamListenerContainer
public StreamListenerContainer(com.rabbitmq.stream.Environment environment) Construct an instance using the provided environment.- Parameters:
environment
- the environment.
-
StreamListenerContainer
public StreamListenerContainer(com.rabbitmq.stream.Environment environment, @Nullable com.rabbitmq.stream.Codec codec) Construct an instance using the provided environment and codec.- Parameters:
environment
- the environment.codec
- the codec used to create reply messages.
-
-
Method Details
-
setQueueNames
Set the queue names. Mutually exclusive withsuperStream(String, String)
.- Parameters:
queueNames
- the queue names.
-
superStream
Enable Single Active Consumer on a Super Stream, with one consumer. Mutually exclusive withsetQueueNames(String...)
.- Parameters:
streamName
- the stream.name
- the consumer name.- Since:
- 3.0
-
superStream
Enable Single Active Consumer on a Super Stream with the provided number of consumers. There must be at least that number of partitions in the Super Stream. Mutually exclusive withsetQueueNames(String...)
.- Parameters:
streamName
- the stream.name
- the consumer name.consumers
- the number of consumers.- Since:
- 3.0
-
getStreamConverter
- Returns:
- the converter.
-
setStreamConverter
- Parameters:
messageConverter
- the converter.
-
setConsumerCustomizer
Customize the consumer builder before it is built.- Parameters:
consumerCustomizer
- the customizer.
-
setAutoStartup
public void setAutoStartup(boolean autoStart) Description copied from interface:MessageListenerContainer
Set auto startup.- Parameters:
autoStart
- true to auto start.
-
isAutoStartup
public boolean isAutoStartup() -
setAdviceChain
Set an advice chain to apply to the listener.- Parameters:
advices
- the advice chain.- Since:
- 2.4.5
-
getMessageListener
Description copied from interface:MessageListenerContainer
Get the message listener.- Returns:
- The message listener object.
-
setObservationConvention
public void setObservationConvention(RabbitStreamListenerObservationConvention observationConvention) Set a RabbitStreamListenerObservationConvention; used to add additional key/values to observations when using aStreamMessageListener
.- Parameters:
observationConvention
- the convention.- Since:
- 3.0.5
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceInitializingBean
- Specified by:
afterPropertiesSet
in interfaceMessageListenerContainer
- Overrides:
afterPropertiesSet
in classRabbitAccessor
-
isRunning
public boolean isRunning() -
start
public void start() -
stop
public void stop() -
setupMessageListener
Description copied from interface:MessageListenerContainer
Setup the message listener to use. Throws anIllegalArgumentException
if that message listener type is not supported.- Parameters:
messageListener
- theobject
to wrapped to theMessageListener
.
-