Example usage for org.springframework.amqp.support.converter MessageConversionException getMessage

List of usage examples for org.springframework.amqp.support.converter MessageConversionException getMessage

Introduction

In this page you can find the example usage for org.springframework.amqp.support.converter MessageConversionException getMessage.

Prototype

public String getMessage() 

Source Link

Document

Returns the detail message string of this throwable.

Usage

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 ava  2s  . c o  m
        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:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapperTest.java

@Test
public void shouldThrowAnExceptionWhenClassIdNotPresent() {
    try {//from www. j  av  a  2  s. com
        javaTypeMapper.toJavaType(properties);
    } catch (MessageConversionException e) {
        String classIdFieldName = javaTypeMapper.getClassIdFieldName();
        assertThat(e.getMessage(), containsString("Could not resolve " + classIdFieldName + " in header"));
        return;
    }
    fail();
}

From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapperTest.java

@Test
public void shouldThrowAnExceptionWhenContentClassIdIsNotPresentWhenClassIdIsContainerType() {
    properties.getHeaders().put(javaTypeMapper.getClassIdFieldName(), ArrayList.class.getName());

    try {/*w  ww  .  j  a va2s . c  o m*/
        javaTypeMapper.toJavaType(properties);
    } catch (MessageConversionException e) {
        String contentClassIdFieldName = javaTypeMapper.getContentClassIdFieldName();
        assertThat(e.getMessage(),
                containsString("Could not resolve " + contentClassIdFieldName + " in header"));
        return;
    }
    fail();
}

From source file:org.springframework.amqp.support.converter.DefaultJackson2JavaTypeMapperTest.java

@Test
public void shouldThrowAnExceptionWhenKeyClassIdIsNotPresentWhenClassIdIsAMap() {
    properties.getHeaders().put(javaTypeMapper.getClassIdFieldName(), HashMap.class.getName());
    properties.getHeaders().put(javaTypeMapper.getKeyClassIdFieldName(), String.class.getName());

    try {/*  w w  w  .java  2s  . c om*/
        javaTypeMapper.toJavaType(properties);
    } catch (MessageConversionException e) {
        String contentClassIdFieldName = javaTypeMapper.getContentClassIdFieldName();
        assertThat(e.getMessage(),
                containsString("Could not resolve " + contentClassIdFieldName + " in header"));
        return;
    }
    fail();
}