Мы используем Spring Boot 2.1.3.RELEASE и RabbitMQ.MessagePack используется для сериализации.
Мы используем convertAndSend:
rabbitTemplate.convertAndSend("exchange", "routingKey", object);
И получаем следующее исключение:
java.lang.UnsupportedOperationException: null
at org.msgpack.jackson.dataformat.MessagePackFactory.createGenerator(MessagePackFactory.java:102)
at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3219)
at org.springframework.amqp.support.converter.AbstractJackson2MessageConverter.createMessage(AbstractJackson2MessageConverter.java:259)
at org.springframework.amqp.support.converter.AbstractMessageConverter.toMessage(AbstractMessageConverter.java:70)
at org.springframework.amqp.support.converter.AbstractMessageConverter.toMessage(AbstractMessageConverter.java:58)
at org.springframework.amqp.rabbit.core.RabbitTemplate.convertMessageIfNecessary(RabbitTemplate.java:1726)
at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:1048)
at org.springframework.amqp.rabbit.core.RabbitTemplate.convertAndSend(RabbitTemplate.java:1041)
Это строка, в которой выдается исключение:
return getRequiredMessageConverter().toMessage(object, new MessageProperties());
Есть ли способ установить тип содержимого в MessageProperties
на application/json
?По умолчанию application/octet-stream
.