Example usage for org.springframework.integration.jms ChannelPublishingJmsMessageListener setMessageConverter

List of usage examples for org.springframework.integration.jms ChannelPublishingJmsMessageListener setMessageConverter

Introduction

In this page you can find the example usage for org.springframework.integration.jms ChannelPublishingJmsMessageListener setMessageConverter.

Prototype

public void setMessageConverter(MessageConverter messageConverter) 

Source Link

Document

Provide a MessageConverter implementation to use when converting between JMS Messages and Spring Integration Messages.

Usage

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

@Test(expected = InvalidDestinationException.class)
public void noReplyToAndNoDefault() throws JMSException {
    final QueueChannel requestChannel = new QueueChannel();
    startBackgroundReplier(requestChannel);
    ChannelPublishingJmsMessageListener listener = new ChannelPublishingJmsMessageListener();
    listener.setExpectReply(true);// www.  j ava  2s  . c o m
    listener.setRequestChannel(requestChannel);
    listener.setMessageConverter(new TestMessageConverter());
    javax.jms.Message jmsMessage = session.createTextMessage("test");
    listener.setBeanFactory(mock(BeanFactory.class));
    listener.afterPropertiesSet();
    listener.onMessage(jmsMessage, session);
}

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

@Test
public void testBadConversion() throws Exception {
    final QueueChannel requestChannel = new QueueChannel();
    ChannelPublishingJmsMessageListener listener = new ChannelPublishingJmsMessageListener();
    Log logger = spy(TestUtils.getPropertyValue(listener, "logger", Log.class));
    doAnswer(new DoesNothing()).when(logger).error(anyString(), any(Throwable.class));
    new DirectFieldAccessor(listener).setPropertyValue("logger", logger);
    listener.setRequestChannel(requestChannel);
    QueueChannel errorChannel = new QueueChannel();
    listener.setErrorChannel(errorChannel);
    listener.setBeanFactory(mock(BeanFactory.class));
    listener.setMessageConverter(new TestMessageConverter() {

        @Override// w  w  w . j a va2s .c  o  m
        public Object fromMessage(javax.jms.Message message) throws JMSException, MessageConversionException {
            return null;
        }

    });
    listener.afterPropertiesSet();
    javax.jms.Message jmsMessage = session.createTextMessage("test");
    listener.onMessage(jmsMessage, mock(Session.class));
    ErrorMessage received = (ErrorMessage) errorChannel.receive(0);
    assertNotNull(received);
    assertThat(received.getPayload().getMessage(), startsWith("Inbound conversion failed"));
    listener.stop();
}