Example usage for org.springframework.amqp.rabbit.listener BlockingQueueConsumer setRetryDeclarationInterval

List of usage examples for org.springframework.amqp.rabbit.listener BlockingQueueConsumer setRetryDeclarationInterval

Introduction

In this page you can find the example usage for org.springframework.amqp.rabbit.listener BlockingQueueConsumer setRetryDeclarationInterval.

Prototype

public void setRetryDeclarationInterval(long retryDeclarationInterval) 

Source Link

Document

When consuming multiple queues, set the interval between declaration attempts when only a subset of the queues were available (milliseconds).

Usage

From source file:org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.java

protected BlockingQueueConsumer createBlockingQueueConsumer() {
    BlockingQueueConsumer consumer;
    String[] queues = getRequiredQueueNames();
    // There's no point prefetching less than the tx size, otherwise the consumer will stall because the broker
    // didn't get an ack for delivered messages
    int actualPrefetchCount = getPrefetchCount() > this.txSize ? getPrefetchCount() : this.txSize;
    consumer = new BlockingQueueConsumer(getConnectionFactory(), this.messagePropertiesConverter,
            this.cancellationLock, getAcknowledgeMode(), isChannelTransacted(), actualPrefetchCount,
            isDefaultRequeueRejected(), getConsumerArguments(), isExclusive(), queues);
    if (this.declarationRetries != null) {
        consumer.setDeclarationRetries(this.declarationRetries);
    }/* w ww .j  ava  2 s  . c  o  m*/
    if (this.failedDeclarationRetryInterval != null) {
        consumer.setFailedDeclarationRetryInterval(this.failedDeclarationRetryInterval);
    }
    if (this.retryDeclarationInterval != null) {
        consumer.setRetryDeclarationInterval(this.retryDeclarationInterval);
    }
    if (getConsumerTagStrategy() != null) {
        consumer.setTagStrategy(getConsumerTagStrategy());
    }
    consumer.setBackOffExecution(this.recoveryBackOff.start());
    consumer.setShutdownTimeout(getShutdownTimeout());
    return consumer;
}