阐述问题:
生产环境发现其中一个系统进行消息处理时出了问题,根据日志反应,消息进入系统后,向下执行了一小部分就戛然而止,开始处理下一条消息,期间没有任何异常信息,要知道理论上该系统是可以catch到所有异常的.
经过大量的排查,最终不得不按行打日志查找问题原因
问题原因:
fastJson1.2.28版本bug,在fastJson1.2.28版本中,当将json字符串转化为javaBean的时候,实体类拥有的属性数量恰好为32的整数倍的时候会报错从而终止程序.
真正令人头疼的是,程序虽然被终止,fastJson也打印了异常日志,但是该异常信息不会被try catch到.
解决方法:
将fastJson版本升至1.2.29,或者让实体类的属性数量不为32的整数倍即可
踩坑, 扑通~ 后者谨记