@Override public Object fromMessage(Message message) throws MessageConversionException { return fromMessage(message, null); }
@Override protected Message createMessage(Object objectToConvert, MessageProperties messageProperties, @Nullable Type genericType) throws MessageConversionException { byte[] bytes; try { String jsonString = this.objectMapper .writeValueAsString(objectToConvert); bytes = jsonString.getBytes(getDefaultCharset()); } catch (IOException e) { throw new MessageConversionException("Failed to convert Message content", e); } messageProperties.setContentType(this.supportedContentType.toString()); messageProperties.setContentEncoding(getDefaultCharset()); messageProperties.setContentLength(bytes.length); if (getClassMapper() == null) { getJavaTypeMapper().fromJavaType(this.objectMapper.constructType( genericType == null ? objectToConvert.getClass() : genericType), messageProperties); } else { getClassMapper().fromClass(objectToConvert.getClass(), messageProperties); // NOSONAR never null } return new Message(bytes, messageProperties); }
String encoding = properties.getContentEncoding(); if (encoding == null) { encoding = getDefaultCharset(); content = convertBytesToObject(message.getBody(), encoding, this.objectMapper.getTypeFactory().constructType( ((ParameterizedTypeReference<?>) conversionHint).getType())); else if (getClassMapper() == null) { JavaType targetJavaType = getJavaTypeMapper() .toJavaType(message.getMessageProperties()); content = convertBytesToObject(message.getBody(), encoding, targetJavaType); Class<?> targetClass = getClassMapper().toClass(// NOSONAR never null message.getMessageProperties()); content = convertBytesToObject(message.getBody(), encoding, targetClass);