spring事务问题

springmvc中在service层中有如下逻辑:
1.提交事务
2.开启新线程,新线程中的业务依赖1中提交的事务
处理办法:
在service中新建一个方法do,调本地提交事务的方法doTranction,然后再创建新线程。
do上不加事务,只在doTranction方法上加事务,如下:

public serviceImpl implements service{

@Tranction
 public void doTranction(){
  }

 public void doThread(){
 }

 public void do(){
    doTranction();
    doThread();
   }
}

发现事务不起作用。猜想可能是因为直接调用本地方法,没有交给spring进行管理,事务没有开启。改为:

public serviceImpl implements Service{
@Autowired
private Service service;
@Tranction
 public void doTranction(){
  }

 public void doThread(){
 }

 public void do(){
    service.doTranction();
    doThread();
   }
}

事务生效。
//todo 应该有更好的方式,后面更新。。。。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问题:Spring中存在类A和类B,A中存在方法methodA。B中存在方法methodB1和methodB2。m...
    Tomy_Jx_Li阅读 1,248评论 0 0
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,874评论 1 14
  • 1.spring对mybatis的事务管理是怎么支持的 一、事务的基本原理 Spring事务的本质其实就是数据库对...
    __游离__阅读 4,827评论 6 7
  • 1.abstract class 和interface 有什么区别? 抽象类可以有构造方法 接口不行 抽象类可以有...
    sunnysans阅读 4,357评论 0 1
  • 昔日耳边语 曾经生死许 恍如昨日 消失匿迹 谁借你十万的爱 留给我拉格朗日的悲哀 谁给你诺言的愿 欠下我再难相见的恩怨
    拾伤青年阅读 4,162评论 0 1