问题1::springBoot在与quartz 整合时,使用@Transaction 注解时事务失效

解决方案:创建一个类使用@component被spring管理 ,使用@Transaction标识主要方法,然后使用quartz 的方法中调用这个类中的方法

问题2: 同一个类中,不加@Transaction注解的方法调用加@Transaction注解的方法  事务失效

问题产生的原因: spring 在扫描bean的时候会扫描方法上是否包含@Transaction注解,如果包含,spring会为这个bean动态地生成一个子类(即代理类,proxy),代理类是继承原来那个bean的。此时,当这个有注解的方法被调用的时候,实际上是由代理类来调用的,代理类在调用时增加异步作用。然而,如果这个有注解的方法是被同一个类中的其他方法调用的,那么该方法的调用并没有通过代理类,而是直接通过原来的那个bean,所以就没有增加事务作用,我们看到的现象就是@Transaction注解无效。

解决方案:将不需要事务管理的类抽离出来创建一个类,然后调用被事务管理的类方法

最新文章

  1. Python 程序员经常犯的 10 个错误
  2. QTableView 一列添加两个按钮
  3. JavaWeb学习笔记——表达式语言
  4. 【转】 C++使用zlib库(-)
  5. C语言基本点初探
  6. Angular JS学习之表达式
  7. Mac键位设定和Xcode快捷键(自己总结,持续更新)
  8. 第二章 C语言编程实践
  9. pad 横屏 cell不正常显示
  10. Android手机出现"已安装了存在签名冲突的同名数据包"的原因及解决办法
  11. 配置was7、并部署发布项目!
  12. Oops信息及栈回溯
  13. [USACO4.2]草地排水Drainage Ditches
  14. Enable Coded UI Testing of Your Controls
  15. 使用eclipse创建maven+动态web的项目
  16. MobaXterm setting autocomplete
  17. Log4j发送日志邮件功能
  18. 不把DB放进容器的理由
  19. 简单的文件上传html+ashx
  20. 页面可视化编辑ckeditor(web基础学习笔记十五)

热门文章

  1. .NET 几种数据绑定控件的区别
  2. Android学习笔记(十二) 线程
  3. spring mvc 配置运行报错误
  4. vue-cli 中使用less
  5. Spring全局异常捕获
  6. 根据截至日期格式获取倒计时&&时间戳转日期格式
  7. WebService 服务开发
  8. 浅谈FFT(快速博立叶变换)&学习笔记
  9. std::function和std::bind详解
  10. react初探索--react + react-router + ant-design 后台管理系统配置