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

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

Introduction

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

Prototype

public JmsChannelFactoryBean(boolean messageDriven) 

Source Link

Usage

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

@Test
public void queueReference() 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  va 2s .co 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.setDestination(this.queue);
    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"));
    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 topicReference() 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  .  ja va 2s  .  c om
            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.setDestination(this.topic);
    factoryBean.afterPropertiesSet();
    SubscribableJmsChannel channel = (SubscribableJmsChannel) factoryBean.getObject();
    channel.afterPropertiesSet();
    channel.subscribe(handler1);
    channel.subscribe(handler2);
    channel.start();
    if (!waitUntilRegisteredWithDestination(channel, 10000)) {
        fail("Listener failed to subscribe to topic");
    }
    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 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);// w  w w .  ja  v a  2s .com
            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);// ww  w . jav a  2  s  .  com
            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 dispatcherHasNoSubscribersQueue() throws Exception {
    JmsChannelFactoryBean factoryBean = new JmsChannelFactoryBean(true);
    factoryBean.setConnectionFactory(this.connectionFactory);
    factoryBean.setDestinationName("noSubscribersQueue");
    factoryBean.setBeanName("noSubscribersChannel");
    factoryBean.afterPropertiesSet();/*w ww .  ja v  a2s  .  c  o m*/
    SubscribableJmsChannel channel = (SubscribableJmsChannel) factoryBean.getObject();
    channel.afterPropertiesSet();

    AbstractMessageListenerContainer container = TestUtils.getPropertyValue(channel, "container",
            AbstractMessageListenerContainer.class);
    MessageListener listener = (MessageListener) container.getMessageListener();
    try {
        listener.onMessage(new StubTextMessage("Hello, world!"));
        fail("Exception expected");
    } catch (MessageDeliveryException e) {
        assertEquals("Dispatcher has no subscribers for jms-channel 'noSubscribersChannel'.", e.getMessage());
    }
}

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);//  w ww .ja  va 2  s.c  o  m
    factoryBean.afterPropertiesSet();
    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);
}