RocketMQ现在是发消息序列化取得MessageConverter不对,正常应该是这个的吧?

439962b4ca378bcac2c6f01c0867665e.png
RocketMQ现在是发消息序列化取得MessageConverter不对,正常应该是这个的吧
12eb5389a41a84194fa7039c797786a2.png

展开
收起
嘟嘟嘟嘟嘟嘟 2024-07-10 12:26:17 176 分享 版权
1 条回答
写回答
取消 提交回答
  • 加这个试试
    package icu.kevin.mq.rocketmq.config;

    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
    import org.apache.rocketmq.spring.support.RocketMQMessageConverter;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Primary;
    import org.springframework.messaging.converter.CompositeMessageConverter;
    import org.springframework.messaging.converter.MappingJackson2MessageConverter;
    import org.springframework.messaging.converter.MessageConverter;

    import java.util.List;

    @Configuration
    public class RocketMQEnhanceConfig {

    /**
     * 解决RocketMQ Jackson不支持Java时间类型配置
     */
    @Bean
    @Primary
    public RocketMQMessageConverter enhanceRocketMQMessageConverter(){
        RocketMQMessageConverter converter = new RocketMQMessageConverter();
        CompositeMessageConverter compositeMessageConverter = (CompositeMessageConverter) converter.getMessageConverter();
        List<MessageConverter> messageConverterList = compositeMessageConverter.getConverters();
    
        for (MessageConverter messageConverter : messageConverterList) {
            if(messageConverter instanceof MappingJackson2MessageConverter){
                MappingJackson2MessageConverter jackson2MessageConverter = (MappingJackson2MessageConverter) messageConverter;
                ObjectMapper objectMapper = jackson2MessageConverter.getObjectMapper();
                objectMapper.registerModules(new JavaTimeModule());
            }
        }
        return converter;
    }
    

    }
    此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2024-07-10 13:03:55
    赞同 9 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理