采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
师兄,我发现改造用异步做扣库存的时候,@Transactional的位置似乎有问题,应该放到decreaseStock方法上而非视频中的decreaseStockProcess方法。像视频中那样放到decreaseStockProcess上,会因为代理模式而开启不了事务。
感谢提醒,确实有Bug,源码里已修改。product的7-8
老师能解释一下,也什么会因为代理模式开启不了事务吗?代理模式为什么会影响事务
你说的代理模式是什么意思,代码怎么写的
因为事务是使用aop的,aop的原理基本上是jdk动态代理或者是cglib,标注事务的方法的类上如果有实现接口则会默认使用jdk动态代理,而标注方法在接口中并未声明,所以事务就不生效了,这个只要不实现接口就可以标注在decreaseStockProcess,实现了接口就需要在接口中声明该方法,事务才能生效
登录后可查看更多问答,登录/注册
SpringCloud组件实现微服务,【已升级Finchley.Release】
2.4k 3
3.1k 6
2.7k 7
2.0k 25
3.6k 24
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号