Example usage for org.springframework.amqp.rabbit.listener DirectMessageListenerContainer setMessagesPerAck

List of usage examples for org.springframework.amqp.rabbit.listener DirectMessageListenerContainer setMessagesPerAck

Introduction

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

Prototype

public void setMessagesPerAck(int messagesPerAck) 

Source Link

Document

Set the number of messages to receive before acknowledging (success).

Usage

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

@Test
public void testDeferredAcks() throws Exception {
    CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
    DirectMessageListenerContainer container = new DirectMessageListenerContainer(cf);
    final CountDownLatch latch = new CountDownLatch(2);
    container.setMessageListener(m -> {
        latch.countDown();//from   w  w w .  j  a v  a2 s  . co m
    });
    container.setQueueNames(Q1);
    container.setBeanName("deferredAcks");
    container.setMessagesPerAck(2);
    container.afterPropertiesSet();
    container.start();
    RabbitTemplate rabbitTemplate = new RabbitTemplate(cf);
    rabbitTemplate.convertAndSend(Q1, "foo");
    rabbitTemplate.convertAndSend(Q1, "bar");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    container.stop();
    cf.stop();
    cf.destroy();
}