当前位置: 首页 > news >正文

环保厅网站建设的必要性昆明seo建站

环保厅网站建设的必要性,昆明seo建站,客户关系管理系统简称,directadmin网站储存目录记录spring中Transactional事务注解失效的六个场景 方法内的自调用 原因:通过this内部调用其他带有Transactional注解的方法,是通过this进行调用,并没有通过cglib代理对象进行调用,导致方法未被增强导致无法检测内部事务 解决方…

记录spring中Transactional事务注解失效的六个场景

方法内的自调用

原因:通过this内部调用其他带有@Transactional注解的方法,是通过this进行调用,并没有通过cglib代理对象进行调用,导致方法未被增强导致无法检测内部事务
解决方法:通过实现类内部自己注入自己的bean实现调用内部方法,以调用cglib增强的代理方法。或者通过AopContext.currentProxy()获取当前代理对象,使用之前需要引aspectjweaver依赖,并且需要在启动类上加入@EnableAspectJAutoProxy(exposeProxy=true)注解。或者在调用方加入@Transactional注解

方法是private的

原因:spring基于cglib进行AOP,cglib基于父子类来实现的,子类是代理类,父类是被代理类,如果父类某个方法是被private修饰,子类的类没法拿到父类的方法,所以导致方法无法被cglib代理,进而无法使用代理方法
解决方法:使用public

方法是final的

原因:因为代理需要重写方法,但是final方法无法被重写,所以无法被代理,而无法被代理所以就无法使用@Transactional注解来管理事务
解决方法:去掉final

单独的线程调用方法

原因:事务是跟连接绑定的,而一个连接是一个线程,新开了一个线程等于新开了一个事务,两个线程的事务管理不同

异常被吃掉

原因:事务回滚是根据异常进行的,手动进行异常处理不会回滚事务

类没被spring管理

原因:没进行bean注入,直接new无法使用spring的事务管理

管理事务的方式

1.使用编程式事务,beginTransaction(), commit(), rollback()
2.基于TransactionProxyFactoryBean的声明式事务管理
3.基于@Transactional的声明式事务管理
4.基于Aspectj AOP配置事务
5.使用分布式事务进行管理,2PC,3PC、TCC

如何避免事务失效

1.使用编程式事务,手动提交
2.避免慢查询
3.不要再事务中加入耗时操作,如rpc,大批量插入修改等

http://www.yidumall.com/news/8238.html

相关文章:

  • 网站的月度流量统计报告怎么做企业网站源码
  • 电商网站设计趋势互动营销案例分析
  • 2015年做那个网站能致富如何做网页设计
  • 12306网站多少钱做的凡科建站模板
  • 如何申请个人网站域名天津百度网站快速优化
  • 怎么做二维码微信扫后直到网站游戏优化大师官网
  • 网站能需要怎么做才不会被攻击优网营销
  • 内容展示型网站 设计特点深圳网站seo
  • 网站建设市场占有率网站目录
  • 老阿姨哔哩哔哩b站肉片入口直播最新军事消息
  • 自己如何做公司网站加盟培训机构
  • 网站用户引导品牌推广计划书怎么写
  • PC网站开发的意义关键词歌曲
  • 网站代理登录域名学电脑在哪里报名
  • 网站界面设计基础新人做外贸怎么找国外客户
  • abc网站建设网络市场营销策划书
  • 郑州网站建设靠谱公司西安关键词优化服务
  • 用php做网站流程网站排名优化推广
  • 手机网站建设的第一个问题网站建设培训
  • php做的购物网站系统下载广告优化师适合女生吗
  • 做网站必须备案吗足球联赛排名
  • 深圳网站科技有限公司靠谱吗如何优化网页加载速度
  • 做柱状图饼状图好看的网站电子商务营销策略有哪些
  • 合肥做网站建设怎么做网站免费的
  • 是普通网站地图好还是rss地图好一点百度推广是做什么的
  • 佛山新网站建设机构建立网站平台需要多少钱
  • 章丘市建设局网站策划方案网站
  • 幼儿园班级网站建设seo服务公司
  • 装修设计公司logo网站seo优化皆宣徐州百都网络不错
  • 用竹片做的网站免费b2b推广网站大全