Example usage for org.springframework.messaging.converter MessageConversionException MessageConversionException

List of usage examples for org.springframework.messaging.converter MessageConversionException MessageConversionException

Introduction

In this page you can find the example usage for org.springframework.messaging.converter MessageConversionException MessageConversionException.

Prototype

public MessageConversionException(Message<?> failedMessage, @Nullable String description,
            @Nullable Throwable cause) 

Source Link

Usage

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

@Override
public Object fromMessage(Message<?> message, Type targetType, Class<?> contextClass) {
    ObjectMapper objectMapper = getObjectMapper();
    JavaType javaType = objectMapper.getTypeFactory().constructType(targetType, contextClass);
    try {//from   w  ww .  j  a v  a2  s  . c o  m
        Object payload = message.getPayload();
        if (payload instanceof byte[]) {
            return objectMapper.readValue((byte[]) payload, javaType);
        } else {
            return objectMapper.readValue((String) payload, javaType);
        }
    } catch (IOException ex) {
        throw new MessageConversionException(message, "Could not read JSON: " + ex.getMessage(), ex);
    }
}

From source file:org.eclipse.hawkbit.event.BusProtoStuffMessageConverter.java

@Override
public Object convertFromInternal(final Message<?> message, final Class<?> targetClass,
        final Object conversionHint) {
    final Object payload = message.getPayload();

    try {//from   w  w w  .  j av a2s .c om
        final Class<?> deserializeClass = ClassUtils
                .getClass(message.getHeaders().get(DEFAULT_CLASS_FIELD_NAME).toString());
        if (payload instanceof byte[]) {
            @SuppressWarnings("unchecked")
            final Schema<Object> schema = (Schema<Object>) RuntimeSchema.getSchema(deserializeClass);
            final Object deserializeEvent = schema.newMessage();
            ProtobufIOUtil.mergeFrom((byte[]) message.getPayload(), deserializeEvent, schema);
            return deserializeEvent;
        }
    } catch (final ClassNotFoundException e) {
        LOG.error("Protostuff cannot find derserialize class", e);
        throw new MessageConversionException(message, "Failed to read payload", e);
    }

    return null;
}