由于在前一小节重构了内容中心,最后提交出去的是一段JSON字符串。在审批了一篇分享后,内容中心这边消费了这次消息,报了一个异常错误,nested exception is java.lang.IllegalStateException: argument type mismatch,但是积分添加都正常执行了。为了干掉这个错误提示,我把内容中心的receive方法改成如下:
// 原来的代码
// public void receive(UserAddBonusMsgDTO message) {
// this.userService.addBonus(message);
// }
// 修改后
public void receive(String message) {
UserAddBonusMsgDto userAddBonusMsgDto = JSON.parseObject(message, UserAddBonusMsgDto.class);
this.userService.addBonus(userAddBonusMsgDto);
}
改成这样子后,错误提示就不再出现了。按目前我的理解是这里在修改代码前已经不会添加积分才对,麻烦老师指点其中玄妙之处。
面向未来微服务:熟练掌握Spring Cloud Alibaba
了解课程