Example usage for org.springframework.integration.jms.config JmsChannelFactoryBean setPubSubDomain

List of usage examples for org.springframework.integration.jms.config JmsChannelFactoryBean setPubSubDomain

Introduction

In this page you can find the example usage for org.springframework.integration.jms.config JmsChannelFactoryBean setPubSubDomain.

Prototype

public void setPubSubDomain(boolean pubSubDomain) 

Source Link

Usage

From source file:org.springframework.integration.jms.SubscribableJmsChannelTests.java

@Test
public void queueName() throws Exception {
    final CountDownLatch latch = new CountDownLatch(2);
    final List<Message<?>> receivedList1 = Collections.synchronizedList(new ArrayList<Message<?>>());
    MessageHandler handler1 = new MessageHandler() {

        public void handleMessage(Message<?> message) {
            receivedList1.add(message);//from  w w  w .j  a  v a  2 s  .  c o  m
            latch.countDown();
        }
    };
    final List<Message<?>> receivedList2 = Collections.synchronizedList(new ArrayList<Message<?>>());
    MessageHandler handler2 = new MessageHandler() {

        public void handleMessage(Message<?> message) {
            receivedList2.add(message);
            latch.countDown();
        }
    };
    JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(true);
    factoryBean.setConnectionFactory(this.connectionFactory);
    factoryBean.setDestinationName("dynamicQueue");
    factoryBean.setPubSubDomain(false);
    factoryBean.afterPropertiesSet();

    SubscribableJmsChannel channel = (SubscribableJmsChannel) factoryBean.getObject();
    channel.afterPropertiesSet();
    channel.start();
    channel.subscribe(handler1);
    channel.subscribe(handler2);
    channel.send(new GenericMessage<String>("foo"));
    channel.send(new GenericMessage<String>("bar"));

    assertTrue("Countdown latch should have counted down to 0 but was " + latch.getCount(),
            latch.await(TIMEOUT, TimeUnit.MILLISECONDS));

    assertEquals(1, receivedList1.size());
    assertNotNull(receivedList1.get(0));
    assertEquals("foo", receivedList1.get(0).getPayload());
    assertEquals(1, receivedList2.size());
    assertNotNull(receivedList2.get(0));
    assertEquals("bar", receivedList2.get(0).getPayload());
    channel.stop();
}

From source file:org.springframework.integration.jms.SubscribableJmsChannelTests.java

@Test
public void topicName() throws Exception {
    final CountDownLatch latch = new CountDownLatch(4);
    final List<Message<?>> receivedList1 = Collections.synchronizedList(new ArrayList<Message<?>>());
    MessageHandler handler1 = new MessageHandler() {
        public void handleMessage(Message<?> message) {
            receivedList1.add(message);//from  w  w  w.  j a v a 2  s. c  o m
            latch.countDown();
        }
    };
    final List<Message<?>> receivedList2 = Collections.synchronizedList(new ArrayList<Message<?>>());
    MessageHandler handler2 = new MessageHandler() {
        public void handleMessage(Message<?> message) {
            receivedList2.add(message);
            latch.countDown();
        }
    };

    JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(true);
    factoryBean.setConnectionFactory(this.connectionFactory);
    factoryBean.setDestinationName("dynamicTopic");
    factoryBean.setPubSubDomain(true);
    factoryBean.afterPropertiesSet();
    SubscribableJmsChannel channel = (SubscribableJmsChannel) factoryBean.getObject();
    channel.afterPropertiesSet();
    channel.start();
    if (!waitUntilRegisteredWithDestination(channel, 10000)) {
        fail("Listener failed to subscribe to topic");
    }
    channel.subscribe(handler1);
    channel.subscribe(handler2);
    channel.send(new GenericMessage<String>("foo"));
    channel.send(new GenericMessage<String>("bar"));
    latch.await(TIMEOUT, TimeUnit.MILLISECONDS);
    assertEquals(2, receivedList1.size());
    assertEquals("foo", receivedList1.get(0).getPayload());
    assertEquals("bar", receivedList1.get(1).getPayload());
    assertEquals(2, receivedList2.size());
    assertEquals("foo", receivedList2.get(0).getPayload());
    assertEquals("bar", receivedList2.get(1).getPayload());
    channel.stop();
}

From source file:org.springframework.integration.jms.SubscribableJmsChannelTests.java

@Test
public void dispatcherHasNoSubscribersTopic() throws Exception {
    JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(true);
    factoryBean.setConnectionFactory(this.connectionFactory);
    factoryBean.setDestinationName("noSubscribersTopic");
    factoryBean.setBeanName("noSubscribersChannel");
    factoryBean.setPubSubDomain(true);
    factoryBean.afterPropertiesSet();/*from   www  .  j ava 2s.c  o  m*/
    SubscribableJmsChannel channel = (SubscribableJmsChannel) factoryBean.getObject();
    channel.afterPropertiesSet();

    AbstractMessageListenerContainer container = TestUtils.getPropertyValue(channel, "container",
            AbstractMessageListenerContainer.class);
    MessageListener listener = (MessageListener) container.getMessageListener();
    List<String> logList = insertMockLoggerInListener(channel);
    listener.onMessage(new StubTextMessage("Hello, world!"));
    verifyLogReceived(logList);
}