Example usage for org.springframework.amqp.core Message getMessageProperties

List of usage examples for org.springframework.amqp.core Message getMessageProperties

Introduction

In this page you can find the example usage for org.springframework.amqp.core Message getMessageProperties.

Prototype

public MessageProperties getMessageProperties() 

Source Link

Usage

From source file:amqp.spring.camel.component.SpringAMQPHeader.java

public static SpringAMQPMessage setBasicPropertiesToHeaders(SpringAMQPMessage msg, Message amqpMessage) {
    byte[] correlationId = amqpMessage.getMessageProperties().getCorrelationId();
    msg.getHeaders().put(CORRELATION_ID, correlationId == null ? null : new String(correlationId));
    msg.getHeaders().put(CONTENT_ENCODING, amqpMessage.getMessageProperties().getContentEncoding());
    msg.getHeaders().put(CONTENT_TYPE, amqpMessage.getMessageProperties().getContentType());
    msg.getHeaders().put(EXPIRATION, amqpMessage.getMessageProperties().getExpiration());
    msg.getHeaders().put(PRIORITY, amqpMessage.getMessageProperties().getPriority());
    msg.getHeaders().put(REPLY_TO, amqpMessage.getMessageProperties().getReplyTo());
    msg.getHeaders().put(TYPE, amqpMessage.getMessageProperties().getType());

    return msg;/*from w  w w  .j a v a 2  s. co  m*/
}

From source file:amqp.spring.camel.component.SpringAMQPHeader.java

public static Message copyHeaders(Message msg, Map<String, Object> headers) {
    for (Map.Entry<String, Object> headerEntry : headers.entrySet()) {
        if (!msg.getMessageProperties().getHeaders().containsKey(headerEntry.getKey())) {
            msg.getMessageProperties().setHeader(headerEntry.getKey(), headerEntry.getValue());
        }//from w  w w .j a v a 2 s. c  om
    }

    return msg;
}

From source file:amqp.spring.camel.component.SpringAMQPMessage.java

public static ExchangePattern getExchangePattern(org.springframework.amqp.core.Message amqpMessage) {
    String exchangePatternName;//from w w w .j a va 2  s. c  o  m

    exchangePatternName = (String) amqpMessage.getMessageProperties().getHeaders().get(EXCHANGE_PATTERN);
    if (exchangePatternName == null) //Safe default
        exchangePatternName = ExchangePattern.InOptionalOut.name();

    return ExchangePattern.valueOf(exchangePatternName);
}

From source file:amqp.spring.camel.component.SpringAMQPHeader.java

public static Message setBasicPropertiesFromHeaders(Message msg, Map<String, Object> headers) {
    for (Map.Entry<String, Object> headerEntry : headers.entrySet()) {
        String headerKey = headerEntry.getKey();
        Object headerValue = headerEntry.getValue();

        String headerValueString = null;
        if (headerValue != null) {
            headerValueString = headerValue.toString();
        }//  w  ww . ja v a 2  s.c  o  m

        //Not switching on a string since we want to support Java >= 1.6
        if (CONTENT_ENCODING.equals(headerKey)) {
            msg.getMessageProperties().setContentEncoding(headerValueString);
        } else if (CONTENT_TYPE.equals(headerKey)) {
            msg.getMessageProperties().setContentType(headerValueString);
        } else if (CORRELATION_ID.equals(headerKey)) {
            byte[] correlationId = headerValueString != null ? headerValueString.getBytes() : null;
            msg.getMessageProperties().setCorrelationId(correlationId);
        } else if (EXPIRATION.equals(headerKey)) {
            msg.getMessageProperties().setExpiration(headerValueString);
        } else if (PRIORITY.equals(headerKey)) {
            Integer priority = headerValueString != null ? Integer.parseInt(headerValueString) : null;
            msg.getMessageProperties().setPriority(priority);
        } else if (REPLY_TO.equals(headerKey)) {
            msg.getMessageProperties().setReplyTo(headerValueString);
        } else if (TYPE.equals(headerKey)) {
            msg.getMessageProperties().setType(headerValueString);
        }
    }

    return msg;
}

From source file:amqp.spring.camel.component.SpringAMQPMessage.java

public static SpringAMQPMessage fromAMQPMessage(MessageConverter msgConverter,
        org.springframework.amqp.core.Message amqpMessage) {
    if (amqpMessage == null) {
        LOG.debug("Received NULL AMQP Message, returning null");
        return null;
    }//  w w w. j  av  a  2  s  .c om

    SpringAMQPMessage message = new SpringAMQPMessage();

    //Restore the body based on the message converter provided
    if (amqpMessage.getBody() == null || amqpMessage.getBody().length == 0) {
        message.setBody(null);
    } else {
        if (LOG.isTraceEnabled()) {
            String asText = new String(amqpMessage.getBody());
            LOG.trace("Translating From AMQP Message: " + asText);
        }

        message.setBody(msgConverter.fromMessage(amqpMessage));
    }

    //Set & restore headers from AMQP
    message = SpringAMQPHeader.setBasicPropertiesToHeaders(message, amqpMessage);
    message = SpringAMQPHeader.copyHeaders(message, amqpMessage.getMessageProperties().getHeaders());

    return message;
}

From source file:org.carewebframework.amqp.rabbitmq.Subscriber.java

@Override
protected void invokeListener(Channel channel, Message message) throws Exception {
    MessageProperties props = message.getMessageProperties();
    String recipients = props == null ? null : (String) props.getHeaders().get(Broker.RECIPIENTS_PROPERTY);
    boolean found = true;

    if (recipients != null) {
        for (String recipient : recipients.split("\\,")) {
            found = recipientIds.contains(recipient);

            if (found) {
                break;
            }/* ww  w.j  a  v  a  2 s .c o m*/
        }
    }

    if (found) {
        super.invokeListener(channel, message);
    }
}

From source file:cu.uci.uengine.amqp.SubmitsListener.java

@Override
public void onMessage(Message message, Channel channel) throws Exception {

    message.getMessageProperties().setHeader("__TypeId__", "cu.uci.uengine.model.dto.SubmissionDTO");

    try {/*from   ww  w. j a va2s  . com*/
        SubmissionDTO submissionDTO = (SubmissionDTO) jsonMessageConverter.fromMessage(message);

        Submission submit = new SubmissionDTOToSubmissionAdapter(submissionDTO);

        log.info(String.format("Working on submission: %s", submit.toString()));

        Submission result = engine.call(submit);

        log.info(String.format("Sending sid %s: %s. %s", result.getId(), result.getVerdict(),
                result.getErrorMessage() == null ? "" : result.getErrorMessage()));

        VerdictDTO verdict = new SubmissionToVerdictDTOAdapter(result);

        submitTemplate.convertAndSend(verdict, new MessagePostProcessor() {
            @Override
            public Message postProcessMessage(Message message) throws AmqpException {
                message.getMessageProperties().setHeader("__TypeId__", "UEngineVerdict");
                return message;
            }
        });

        channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);

    } catch (MessageConversionException messageConversionException) {
        channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
        log.error(String.format("Wrong submission format: %s", messageConversionException.getMessage()));
    } catch (Exception ex) {
        channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, false);
        log.error(String.format("Error preocessing message with correlationId: %s",
                message.getMessageProperties().getCorrelationId()));
    }
}

From source file:com.jbrisbin.vpc.jobsched.exe.ExeMessageConverter.java

public Object fromMessage(Message message) throws MessageConversionException {
    MessageProperties props = message.getMessageProperties();
    if (isAuthorized(props)) {
        //Map<String, Object> headers = props.getHeaders();
        byte[] bytes = message.getBody();
        ExeMessage msg;/*from w w w.  j a  va 2 s .com*/
        try {
            msg = mapObject(bytes, ExeMessage.class);
            if (log.isDebugEnabled()) {
                log.debug(String.format(" MSG: %s", msg));
            }
        } catch (IOException e) {
            throw new MessageConversionException(e.getMessage(), e);
        }

        return msg;
    } else {
        throw new MessageConversionException("Invalid security key.");
    }
}

From source file:com.jbrisbin.vpc.jobsched.sql.SqlMessageConverter.java

public Object fromMessage(Message message) throws MessageConversionException {
    MessageProperties props = message.getMessageProperties();
    if (isAuthorized(props)) {
        //Map<String, Object> headers = props.getHeaders();
        byte[] bytes = message.getBody();
        SqlMessage msg;/*from w  w w . java 2s  .  c  o m*/
        try {
            msg = mapObject(bytes, SqlMessage.class);
            msg.setId(new String(props.getCorrelationId()));
            msg.setReplyTo(props.getReplyTo().toString());
            if (log.isDebugEnabled()) {
                log.debug(String.format(" MSG: %s", msg));
            }
        } catch (IOException e) {
            throw new MessageConversionException(e.getMessage(), e);
        }

        return msg;
    } else {
        throw new MessageConversionException("Invalid security key.");
    }
}

From source file:amqp.spring.camel.component.SpringAMQPHeaderTest.java

@Test
public void copyAMQPHeaders() throws Exception {
    MessageProperties properties = new MessageProperties();
    properties.setHeader("NotSecret", "Popcorn");
    org.springframework.amqp.core.Message message = new Message(new byte[] {}, properties);
    message.getMessageProperties().setReplyTo("BuzzSaw");

    SpringAMQPMessage camelMessage = SpringAMQPHeader.copyHeaders(new SpringAMQPMessage(),
            message.getMessageProperties().getHeaders());
    Assert.assertEquals("Popcorn", camelMessage.getHeader("NotSecret"));
    Assert.assertNull(camelMessage.getHeader(SpringAMQPHeader.REPLY_TO));
}