/** * Return the type precedence. * @return the precedence. * @see #setTypePrecedence(Jackson2JavaTypeMapper.TypePrecedence) */ public Jackson2JavaTypeMapper.TypePrecedence getTypePrecedence() { return this.javaTypeMapper.getTypePrecedence(); }
@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); }
.toJavaType(message.getMessageProperties()); content = convertBytesToObject(message.getBody(), encoding, targetJavaType);
@Bean public SimpleRabbitListenerContainerFactory simpleJsonListenerContainerFactory() { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(rabbitConnectionFactory()); factory.setErrorHandler(errorHandler()); factory.setConsumerTagStrategy(consumerTagStrategy()); Jackson2JsonMessageConverter messageConverter = new Jackson2JsonMessageConverter(); messageConverter.getJavaTypeMapper().addTrustedPackages("*"); factory.setMessageConverter(messageConverter); factory.setReceiveTimeout(10L); return factory; }