Example usage for org.springframework.jms.support.converter MessageConverter fromMessage

List of usage examples for org.springframework.jms.support.converter MessageConverter fromMessage

Introduction

In this page you can find the example usage for org.springframework.jms.support.converter MessageConverter fromMessage.

Prototype

Object fromMessage(Message message) throws JMSException, MessageConversionException;

Source Link

Document

Convert from a JMS Message to a Java object.

Usage

From source file:com.kinglcc.spring.jms.core.converter.GenericJmsMessageConverter.java

@Override
public Object fromMessage(Message message) throws JMSException, MessageConversionException {
    MessageConverter converter = getMessageConverterFrom(message);
    return converter.fromMessage(message);
}

From source file:org.appverse.web.framework.backend.messaging.services.integration.impl.live.JMSSyncService.java

@Override
@SuppressWarnings("unchecked")
public T syncRetrieve() throws Exception {
    if (logger.isDebugEnabled()) {
        Message msg = this.getTemplateConsumer().receive();

        logger.debug("***** SYNC CONSUMING MESSAGE******");
        traceMessage(msg);/* w ww  . j a  v  a  2s  . c o  m*/

        MessageConverter mc = ((IJMSServiceConsumer<?>) this).getTemplateConsumer().getMessageConverter();
        return (T) mc.fromMessage(msg);
    } else
        return (T) ((IJMSServiceConsumer<?>) this).getTemplateConsumer().receiveAndConvert();
}

From source file:org.appverse.web.framework.backend.messaging.services.integration.impl.live.JMSSyncService.java

@Override
@SuppressWarnings("unchecked")
public T syncRetrieve(final String messageSelector) throws Exception {
    if (logger.isDebugEnabled()) {
        Message msg = this.getTemplateConsumer().receive(messageSelector);

        logger.debug("***** SYNC CONSUMING MESSAGE - SELECTOR ******");
        traceMessage(msg);/*from  w  w w.j  av  a  2s  . c  om*/

        MessageConverter mc = ((IJMSServiceConsumer<?>) this).getTemplateConsumer().getMessageConverter();
        return (T) mc.fromMessage(msg);
    } else
        return (T) ((IJMSServiceConsumer<?>) this).getTemplateConsumer().receiveAndConvert(messageSelector);
}

From source file:org.bpmscript.integration.internal.jms.JmsMessageBus.java

public void onMessage(Message message) {
    MessageConverter converter = template.getMessageConverter();
    try {//  ww  w .j  av a2  s . c  om
        AddressAndMessage addressAndMessage = (AddressAndMessage) converter.fromMessage(message);
        String address = addressAndMessage.getAddress();
        IMessageReceiver receiver = addressRegistry.lookup(address);
        if (receiver == null) {
            log.error("could not find receiver for address " + address);
        } else {
            IInternalMessage internalMessage = addressAndMessage.getMessage();
            if (log.isDebugEnabled()) {
                log.debug("bus sending message " + internalMessage + " to " + address);
            }
            receiver.onMessage(internalMessage);
        }
    } catch (MessageConversionException e) {
        throw new RuntimeException(e);
    } catch (JMSException e) {
        throw new RuntimeException(e);
    }
}

From source file:ru.anr.base.facade.ejb.mdb.AbstractMessageDrivenHandler.java

/**
 * {@inheritDoc}/*from  w  w  w .j a  v  a2  s .c  o m*/
 */
@Override
public void onMessage(Message message) {

    Assert.isTrue(message instanceof TextMessage, "TextMessage only");
    MessageConverter converter = new MessagingMessageConverter();

    try {

        @SuppressWarnings("unchecked")
        org.springframework.messaging.Message<String> msg = (org.springframework.messaging.Message<String>) converter
                .fromMessage(message);

        logger.debug("Received a JMS message: {}", msg);
        onMessage(msg);

    } catch (JMSException ex) {
        throw new ApplicationException(ex);
    }
}

From source file:org.springframework.cloud.stream.binder.jms.utils.RepublishMessageRecoverer.java

@Override
public void recover(Message undeliveredMessage, Throwable cause) {
    String deadLetterQueueName = queueProvisioner.provisionDeadLetterQueue();

    final JmsHeaderMapper mapper = new DefaultJmsHeaderMapper();
    MessageConverter converter = new SimpleMessageConverter();
    Object payload = null;//from   www  . ja v a  2s.  c  om

    try {
        payload = converter.fromMessage(undeliveredMessage);
    } catch (JMSException e) {
        logger.error("The message payload could not be retrieved. It will be lost.", e);
    }

    final Map<String, Object> headers = mapper.toHeaders(undeliveredMessage);
    headers.put(X_EXCEPTION_STACKTRACE, getStackTraceAsString(cause));
    headers.put(X_EXCEPTION_MESSAGE,
            cause.getCause() != null ? cause.getCause().getMessage() : cause.getMessage());
    try {
        headers.put(X_ORIGINAL_QUEUE, undeliveredMessage.getJMSDestination().toString());
    } catch (JMSException e) {
        logger.error("The message destination could not be retrieved", e);
    }
    Map<? extends String, ? extends Object> additionalHeaders = additionalHeaders(undeliveredMessage, cause);
    if (additionalHeaders != null) {
        headers.putAll(additionalHeaders);
    }

    jmsTemplate.convertAndSend(deadLetterQueueName, payload, new MessagePostProcessor() {
        @Override
        public Message postProcessMessage(Message message) throws JMSException {
            mapper.fromHeaders(new MessageHeaders(headers), message);
            return message;
        }
    });

}

From source file:org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener.java

/**
 * Extract the message body from the given JMS message.
 * @param message the JMS {@code Message}
 * @return the content of the message, to be passed into the listener method
 * as an argument//from   w  w w .  j ava 2 s  . c  o  m
 * @throws MessageConversionException if the message could not be extracted
 */
protected Object extractMessage(Message message) {
    try {
        MessageConverter converter = getMessageConverter();
        if (converter != null) {
            return converter.fromMessage(message);
        }
        return message;
    } catch (JMSException ex) {
        throw new MessageConversionException("Could not convert JMS message", ex);
    }
}

From source file:org.springframework.jms.listener.adapter.MessageListenerAdapter.java

/**
 * Extract the message body from the given JMS message.
 * @param message the JMS {@code Message}
 * @return the content of the message, to be passed into the
 * listener method as argument//  w  ww  .  j  av a2  s  . c  o m
 * @throws JMSException if thrown by JMS API methods
 */
protected Object extractMessage(Message message) throws JMSException {
    MessageConverter converter = getMessageConverter();
    if (converter != null) {
        return converter.fromMessage(message);
    }
    return message;
}