测试checkLocalTransaction遇到的bug
来源:8-5 库存流水状态(3)

PiedLife
2019-06-16
老师,我在OrderServiceImpl中让线程sleep80秒,模拟checkLocalTransaction回调功能时,mysql中库存被会多减一件,完成一次完整下单,redis中库存正常减1,mysql中库存会减2。
debug运行,发现MqConsumer中itemStockDOMapper.decreaseStock减库存只运行一次,代码应该没问题,也没在其他java文件中找到itemStockDOMapper.decreaseStock这种可能造成mysql库存减1的相关代码。
如果去掉sleep80秒相关代码,redis和mysql中库存都正常减1. 这种情况可能的原因是什么?因为rocketmq中有积压的消息吗?还是课程中提供的代码有这种bug?
写回答
2回答
-
冲哥_
2020-06-13
遇到了同样的问题,同学最后找到原因了么
00 -
龙虾三少
2019-06-17
断点设置在真正减库存的地方 看下为什么会减两次
00
相似问题