public class DirectRabbitListenerContainerFactory extends AbstractRabbitListenerContainerFactory<DirectMessageListenerContainer>
RabbitListenerContainerFactory
implementation to build a regular DirectMessageListenerContainer
.counter, logger
Constructor and Description |
---|
DirectRabbitListenerContainerFactory() |
Modifier and Type | Method and Description |
---|---|
protected DirectMessageListenerContainer |
createContainerInstance()
Create an empty container instance.
|
protected void |
initializeContainer(DirectMessageListenerContainer instance,
RabbitListenerEndpoint endpoint)
Further initialize the specified container.
|
void |
setAckTimeout(Long ackTimeout)
An approximate timeout; when
messagesPerAck is
greater than 1, and this time elapses since the last ack, the pending acks will be
sent either when the next message arrives, or a short time later if no additional
messages arrive. |
void |
setConsumersPerQueue(Integer consumersPerQueue)
Each queue runs in its own consumer; set this property to create multiple
consumers for each queue.
|
void |
setMessagesPerAck(Integer messagesPerAck)
Set the number of messages to receive before acknowledging (success).
|
void |
setMonitorInterval(long monitorInterval)
Set how often to run a task to check for failed consumers and idle containers.
|
void |
setTaskScheduler(TaskScheduler taskScheduler)
Set the task scheduler to use for the task that monitors idle containers and
failed consumers.
|
createListenerContainer, getAdviceChain, setAcknowledgeMode, setAdviceChain, setAfterReceivePostProcessors, setApplicationContext, setApplicationEventPublisher, setAutoStartup, setBatchingStrategy, setBatchListener, setBeforeSendReplyPostProcessors, setChannelTransacted, setConnectionFactory, setConsumerTagStrategy, setContainerCustomizer, setDeBatchingEnabled, setDefaultRequeueRejected, setErrorHandler, setFailedDeclarationRetryInterval, setIdleEventInterval, setMessageConverter, setMismatchedQueuesFatal, setMissingQueuesFatal, setPhase, setPrefetchCount, setRecoveryBackOff, setRecoveryInterval, setReplyRecoveryCallback, setRetryTemplate, setTaskExecutor, setTransactionManager
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createListenerContainer
public DirectRabbitListenerContainerFactory()
public void setTaskScheduler(TaskScheduler taskScheduler)
taskScheduler
- the scheduler.public void setMonitorInterval(long monitorInterval)
monitorInterval
- the interval; default 10000 but it will be adjusted down
to the smallest of this, idleEventInterval
/ 2
(if configured) or
failedDeclarationRetryInterval
.public void setConsumersPerQueue(Integer consumersPerQueue)
consumersPerQueue
- the consumers per queue.public void setMessagesPerAck(Integer messagesPerAck)
messagesPerAck
- the number of messages.setAckTimeout(Long)
public void setAckTimeout(Long ackTimeout)
messagesPerAck
is
greater than 1, and this time elapses since the last ack, the pending acks will be
sent either when the next message arrives, or a short time later if no additional
messages arrive. In that case, the actual time depends on the
monitorInterval
.ackTimeout
- the timeout in milliseconds (default 20000);setMessagesPerAck(Integer)
protected DirectMessageListenerContainer createContainerInstance()
AbstractRabbitListenerContainerFactory
createContainerInstance
in class AbstractRabbitListenerContainerFactory<DirectMessageListenerContainer>
protected void initializeContainer(DirectMessageListenerContainer instance, RabbitListenerEndpoint endpoint)
AbstractRabbitListenerContainerFactory
Subclasses can inherit from this method to apply extra configuration if necessary.
initializeContainer
in class AbstractRabbitListenerContainerFactory<DirectMessageListenerContainer>
instance
- the container instance to configure.endpoint
- the endpoint.