Example usage for org.springframework.amqp.rabbit.listener DirectReplyToMessageListenerContainer releaseConsumerFor

List of usage examples for org.springframework.amqp.rabbit.listener DirectReplyToMessageListenerContainer releaseConsumerFor

Introduction

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

Prototype

public void releaseConsumerFor(ChannelHolder channelHolder, boolean cancelConsumer, @Nullable String message) 

Source Link

Document

Release the consumer associated with the channel for reuse.

Usage

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

@Test
public void testReplyToReleaseWithCancel() throws Exception {
    CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
    DirectReplyToMessageListenerContainer container = new DirectReplyToMessageListenerContainer(cf);
    container.setBeanName("releaseCancel");
    container.afterPropertiesSet();/*from ww w .j  a va2s .c om*/
    container.start();
    ChannelHolder channelHolder = container.getChannelHolder();
    final CountDownLatch latch = new CountDownLatch(1);
    container.setApplicationEventPublisher(e -> {
        if (e instanceof ListenerContainerConsumerTerminatedEvent) {
            latch.countDown();
        }
    });
    container.releaseConsumerFor(channelHolder, true, "foo");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    container.stop();
    cf.destroy();
}

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

@Test
public void testReplyToConsumersReduced() throws Exception {
    CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
    DirectReplyToMessageListenerContainer container = new DirectReplyToMessageListenerContainer(cf);
    container.setBeanName("reducing");
    container.setIdleEventInterval(500);
    container.afterPropertiesSet();/*from  w  w  w.  j  av  a  2  s  . c  o  m*/
    container.start();
    ChannelHolder channelHolder = container.getChannelHolder();
    assertTrue(activeConsumerCount(container, 1));
    container.releaseConsumerFor(channelHolder, false, null);
    assertTrue(activeConsumerCount(container, 0));
    container.stop();
    cf.destroy();
}

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

@Test
public void testReplyToReleaseWithCancel() throws Exception {
    CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
    DirectReplyToMessageListenerContainer container = new DirectReplyToMessageListenerContainer(cf);
    container.setBeanName("releaseCancel");
    container.afterPropertiesSet();/*from   w  w w.  j  ava 2  s  .  co m*/
    container.start();
    ChannelHolder channelHolder = container.getChannelHolder();
    final CountDownLatch latch = new CountDownLatch(1);
    container.setApplicationEventPublisher(e -> {
        if (e instanceof ListenerContainerConsumerTerminatedEvent) {
            latch.countDown();
        }
    });
    container.releaseConsumerFor(channelHolder, true, "foo");
    assertTrue(latch.await(10, TimeUnit.SECONDS));
}

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

@Test
public void testReplyToConsumersReduced() throws Exception {
    CachingConnectionFactory cf = new CachingConnectionFactory("localhost");
    DirectReplyToMessageListenerContainer container = new DirectReplyToMessageListenerContainer(cf);
    container.setBeanName("reducing");
    container.setIdleEventInterval(500);
    container.afterPropertiesSet();/*from   w  w  w . j a  v  a  2  s  .c  o m*/
    container.start();
    ChannelHolder channelHolder = container.getChannelHolder();
    assertTrue(activeConsumerCount(container, 1));
    container.releaseConsumerFor(channelHolder, false, null);
    assertTrue(activeConsumerCount(container, 0));
}