【版本问题】fastjson版本不一致引发的问题

项目场景

某物联网系统A和系统B,两个系统fastjson版本为V1.1.37,该版本比较老,老版本的fastjson存在偶发性序列化数据异常等问题,因此打算升级A系统fastjson版本为V1.2.*以上版本解决异常报错问题。


问题描述

升级A系统fastjson版本为V1.2.*以上版本,系统B保持fastjson版本为V1.1.37,在A系统pom.xml文件中升级fastjson版本为V1.2.76后,发现系统A和系统B两个系统有些消息无法通讯,导致某些功能不可用。

	<com.alibaba.fastjson.verison>1.2.76</com.alibaba.fastjson.verison>

	<!-- 加入fastjson依赖包 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${com.alibaba.fastjson.verison}</version>
		</dependency>

原因分析

查询日志排查相关问题,发现没有报错日志,最后在系统A和系统B测试环境进行debug发现,高版本系统的fastjson序列化的类,在低版本系统无法反序列化。


解决方案

回滚A系统fastjson版本为V1.1.37,该问题得到解决

	<com.alibaba.fastjson.verison>1.1.37</com.alibaba.fastjson.verison>

	<!-- 加入fastjson依赖包 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${com.alibaba.fastjson.verison}</version>
		</dependency>

最后总结

经过查询fastjson相关资料,V1.2.以下版本确实会存在一些偶发性序列化报错误问题、序列化丢失数据问题,不过高版本修复了一些问题在使用过程中几乎不会报异常,V1.2. 以上版本为较为稳定的版本。通过该问题的排查可以举一反三,在两个及以上系统中使用开源产品,例如:RabbitMQ、Fastjson、Kafka等,要考虑不同系统之间的版本不一致,会不会导致不同系统间数据传输异常,在使用时最好在测试环境进行验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值