通过消息队列获取到购物车类的集合,在遍历的时候报错

来源:7-8 商品和订单服务中使用MQ(下)

慕粉1044461252

2019-08-22

老师您好,我商品服务(product)做为消费者,通过队列获取到一个map,其中map.get(“ProductList”)获取到的value是一个购物车的集合List。并且通过日志也可以打印出该集合里的内容。
但是在调用减库存方法中,需要通过foreach遍历这个集合的时候报错,看了半天没找出原因,希望老师能够帮忙解惑,下面是代码截图:
这是消费者接收对象的截图:图片描述

这是productService.reduceStockByList(productCategoryUpdateList);方法中的截图:
图片描述

这是购物车实体类的定义:
图片描述

最后是报错的截图:
图片描述

写回答

1回答

慕粉1044461252

提问者

2019-08-22

找到原因了。。发送者在发送消息的时候,我之前设置了其他的序列化方式

rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());

消费者那边也做了同样的设置,把这个去掉,用默认的序列化方式就好了。。。

只是有一点想不通,如果序列化方式设置的有问题,为什么之前打印对象数据都是能正常展现

1
1
廖师兄
要么用对象,要么用String。统一用String,以后debug会方便些。
2019-08-23
共1条回复

SpringCloud Finchley(M2+RELEASE+SR2)微服务实战

SpringCloud组件实现微服务,【已升级Finchley.Release】

5668 学习 · 2489 问题

查看课程