当前位置: 首页 > news >正文

【RabbitMQ】记录 InvalidDefinitionException: Java 8 date/time type

目录

1. 添加必要依赖

2. 配置全局序列化方案(推荐)

3. 配置RabbitMQ消息转换器

关键点说明


1. 添加必要依赖

首先确保项目中包含JSR-310支持模块:

<dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId><version>2.12.5</version> <!-- 版本需与项目中的Jackson版本匹配 -->
</dependency>

2. 配置全局序列化方案(推荐)

创建Jackson配置类统一处理时间类型:

@Configuration
public class JacksonConfig {@Beanpublic Jackson2ObjectMapperBuilderCustomizer jsonCustomizer() {return builder -> {// 设置全局日期格式builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss");// 注册Java8时间模块builder.modules(new JavaTimeModule());// 禁用时间戳格式builder.featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);};}
}

3. 配置RabbitMQ消息转换器

在RabbitMQ配置中指定使用Jackson2JsonMessageConverter:

@Bean
public MessageConverter jsonMessageConverter() {ObjectMapper objectMapper = new ObjectMapper().registerModule(new JavaTimeModule()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);return new Jackson2JsonMessageConverter(objectMapper);
}

关键点说明

  1. 版本兼容性​:确保jackson-datatype-jsr310版本与其他Jackson组件版本一致
  2. 时间格式​:禁用时间戳格式(WRITE_DATES_AS_TIMESTAMPS)可避免输出数字时间戳
  3. 微服务场景​:该方案同样适用于其他Spring组件如RestTemplate/Feign的序列化

相关文章:

  • 超低延迟音视频直播技术的未来发展与创新
  • 数据库健康监测器(BHM)实战:如何通过 HTML 报告识别潜在问题
  • 深入理解万维网:URL、HTTP与HTML
  • 第16天-使用Python Pillow库常见图像处理场景
  • 如何使用Antv X6使用拖拽布局?
  • anaconda创建环境出错HTTPS
  • 每日Prompt:实物与手绘涂鸦创意广告
  • 【HTML-4】HTML段落标签:构建内容结构的基础
  • MySQL备份恢复:数据安全的终极指南
  • RPC 协议详解、案例分析与应用场景
  • 将VMware上的虚拟机和当前电脑上的Wifi网卡处在同一个局域网下,实现同一个局域网下实现共享
  • Neo4j实现向量检索
  • 【专题】机器学习期末复习资料
  • 【机器学习】支持向量机(SVM)
  • 华为鸿蒙电脑发布,折叠屏怎么选?
  • ToDesk云电脑、并行智算云与顺网云AI支持能力深度实测报告
  • 深度解析 Java 中介者模式:重构复杂交互场景的优雅方案
  • Linux上conda环境安装完全手札
  • JavaScript-DOM-02
  • 遨游科普:三防平板有哪些品牌?哪个品牌值得推荐?
  • wordpress in排序/西安seo报价
  • 做网站都有什么成本/怎么在百度上发布信息广告
  • 域名备案好了后怎么做网站/关键词优化排名费用
  • 信宜网站建设/兰州关键词快速上首页排名
  • 网站里的副栏目是什么/网络推广和网络销售的区别
  • 教做游戏的网站/1688的网站特色