java浅拷贝BeanUtils.copyProperties引发的RPC异常

💡 原文中文,约1200字,阅读约需3分钟。
📝

内容提要

项目中因使用BeanUtils.copyProperties进行浅拷贝导致接口异常,问题出在反序列化时类转换为Map。解决方案是手动赋值,建议使用MapStruct进行转换,并谨慎使用浅拷贝工具。

🎯

关键要点

  • 项目中因使用BeanUtils.copyProperties进行浅拷贝导致接口异常。
  • 异常信息为java.lang.ClassCastException: java.util.HashMap cannot be cast to cn.xxx.xxx.xxx.xxx.BatchInfo。
  • 排查过程中确认报文格式没有问题,重点关注序列化方式和代码改动逻辑。
  • 发现BeanUtils.copyProperties进行浅拷贝导致反序列化时找不到对应类,转换为Map。
  • 解决方案是去掉BeanUtils.copyProperties,进行手动赋值。
  • 建议使用MapStruct进行转换,谨慎使用浅拷贝工具。
➡️

继续阅读