Spring事务中的自调用中,被调用的方法上的@Transactional注解是不是完全无效了?
譬如
public class ShopServiceImpl{
@Transactional
public void do1(){
do2();
}
@Transactional
public void do2(){
....
}
}
如上代码,do1调用do2()时,do2()上的@Transactional,其定义的传播属性譬如PROPAGATION_NOT_SUPPORTED,PROPAGATION_NEVER,或者timeout等是不是统统无效?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对, 如果需要加上事务的话, 可以试下通过
AopContext.currentProxy()
获取到代理对象, 然后再调用do2.遇到过这种情况,当时的做法是注入自身的代理对象,然后用这个对象去调方法就可以了