请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

@Transactional位置问题

师兄,我发现改造用异步做扣库存的时候,@Transactional的位置似乎有问题,应该放到decreaseStock方法上而非视频中的decreaseStockProcess方法。像视频中那样放到decreaseStockProcess上,会因为代理模式而开启不了事务。

正在回答 回答被采纳积分+3

1回答

廖师兄 2019-09-08 22:49:04

感谢提醒,确实有Bug,源码里已修改。product的7-8

0 回复 有任何疑惑可以回复我~
  • 老师能解释一下,也什么会因为代理模式开启不了事务吗?代理模式为什么会影响事务
    回复 有任何疑惑可以回复我~ 2019-09-25 11:41:16
  • 廖师兄 回复 qq_红_14 #2
    你说的代理模式是什么意思,代码怎么写的
    回复 有任何疑惑可以回复我~ 2019-09-26 21:54:05
  • Arsenalzjx 回复 qq_红_14 #3
    因为事务是使用aop的,aop的原理基本上是jdk动态代理或者是cglib,标注事务的方法的类上如果有实现接口则会默认使用jdk动态代理,而标注方法在接口中并未声明,所以事务就不生效了,这个只要不实现接口就可以标注在decreaseStockProcess,实现了接口就需要在接口中声明该方法,事务才能生效
    回复 有任何疑惑可以回复我~ 2020-01-15 22:53:09
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号