在此之后,我有这个代码
@豆open fun messageConverter(om:ObjectMapper):MessageConverter { 返回Jackson2JsonMessageConverter(om)}
@豆打开乐趣rabbitListenerContainerFactory(cf:…
根据您的堆栈跟踪,监听器容器中没有任何内容可以处理您的传入JSON。所以,它恰好发生 通过 同 byte[] 作为一个pyalod。你最终只是试图转换它 byte[] 到您的预期类型 @RabbitListener 方法。为此,当您没有要在侦听器容器级别转换的JSON信息时,您需要配置一个 DefaultMessageHandlerMethodFactory 有希望的 MappingJackson2MessageConverter 。它可以实现 RabbitListenerConfigurer :
byte[]
@RabbitListener
DefaultMessageHandlerMethodFactory
MappingJackson2MessageConverter
RabbitListenerConfigurer
@Bean public DefaultMessageHandlerMethodFactory myHandlerMethodFactory() { DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory(); factory.setMessageConverter(new MappingJackson2MessageConverter()); return factory; } @Override public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) { registrar.setMessageHandlerMethodFactory(myHandlerMethodFactory()); }
那 MappingJackson2MessageConverter 可以配置为自定义的bean ObjectMapper 注射。
ObjectMapper