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

唐河网站制作公司安徽谷歌seo

唐河网站制作公司,安徽谷歌seo,怎么查公司的邮箱,石材企业网站源码一.抛出事务不支持的异常 原理: Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。 但…

一.抛出事务不支持的异常

原理:
Spring事务默认支持RuntimeException异常,抛出的异常为RuntimeException异常及其子类异常事务均可生效,而我们日常常见的异常基本都继承自RuntimeException,所以无需指定异常类型事务也能生效。
但若手动抛出Exception异常,而Exception是RuntimeException的父类,会导致事务不生效。
解决方案:
1.指定Spring事务异常捕获类型
@Transactional(rollbackFor = Exception.class)
2.抛出Spring事务支持的异常类型
throw new RuntimeException(“手动抛出运行时异常”);

二.使用了try catch

原理:
异常被try catch块捕获,导致事务失效,自己把异常吃了怪谁。
解决方案:
在catch中抛出Spring事务支持的异常,或者你本来就不想回滚。

三.事务方法为私有方法

原理:
Spring声明式事务基于动态代理实现,private方法不能被代理,事务不会生效。
此外,static修饰的方法属于类,不属于任何对象,也不能被代理,事务不生效。
final修饰的方法无法重写,也就不能被代理,事务也不会生效。
解决方案:
方法用public修饰,不要用static、final修饰

四.类未被Spring管理

原理:
Spring实现对象的动态代理,首先这个对象要交由Spring管理。
解决方案:
将类交由Spring管理,可添加@Service注解,或使用其他能够注册成Spring Bean的注解或方法。

五.一个方法调用本类另一个方法,事务失效

原理:
@Transactional基于AOP实现,而AOP又是基于动态代理实现,直接调用本类方法或使用this调用本类方法,均不是Spring的代理对象,无法实现动态代理,事务也就不会生效。
解决方案:
1.将两个方法合并为一个方法,用@Transactional修饰。
2.将被调用的方法放到另一个被Spring管理的类中,用实例对象调用,
3.用@Autowired在本类中注入本类实例,再用注入的实例对象调用该方法。
4.手动获取本类的代理,用代理调用该方法((TestService)AopContext.currentProxy()).myTest();

六.数据表不支持事务

原理:
Spring事务基于数据库事务实现,有些数据表本身不支持事务,如MySql的MyISAM引擎,事务自然不生效。
解决方案:
将数据表改用支持事务的引擎,如MySql的InnoDB引擎,mysql5及之后的版本默认InnnoDB。

七.Spring事务传播级别设置为不支持事务

原理:
@Transactional(propagation = Propagation.NOT_SUPPORTED) 不支持事务,若存在事务则挂起
@Transactional(propagation = Propagation.NEVER) 不使用事务,若存在事务则抛异常
解决方案:
使用Spring默认的传播级别(PROPAGATION_REQUIRED),或其他支持事务的传播级别。

事务的传播?

八.未开启事务

解决方案:
@EnableTransactionManagement开启事务,Spring boot已自动装配,无需显示使用此注解。

九.多线程调用

原理:
不同线程使用不同的数据库链接,基于同一数据库连接的事务才能同时提交或回滚,因此事务不生效。
问题:如何支持多线程事务?

参考

http://www.yayakq.cn/news/865087/

相关文章:

  • 网站静态化对seocrm系统有哪些
  • 网站备案状态查询企业信息型网站有哪些
  • 电子商务网站建设资料前端后端
  • 杭州网站建设代理商交易网站前期建设方案
  • xxx网站建设策划书范文云梦模板网站优缺点
  • 网站建设实训报告模板外贸平台管理制度
  • 饮食类网站网站权限怎么设置
  • 帝国建站系统订做网站和app
  • 免费模板网站下载无锡公司建立网站
  • php 读取网站文件中国建设银行预约网站首页
  • 廊坊高端品牌网站建设c asp做网站
  • 企业网站备案申请动态速写网站
  • 银川网站开发网站运营推广怎做
  • 国外网站推广软件天津业之峰装饰公司怎么样
  • 互联网行业网站模板北京市住房与城乡建设网站
  • winserver2008上用iis发布网站鹤岗建设局网站
  • 网站开发需求分析中性能需求wordpress 启动流程
  • 做不好的网站违法吗创建一个网站网站空间费用
  • 做电商平台网站有哪些内容哪些知名网站用wordpress
  • php网站做cdn手机苗木网站源码
  • 天津网站备案重庆网站制作系统
  • 美容美发网站模板网站建设ag
  • 网站建设公司领导致辞如何建设网站 企业
  • 搜狐网站建设设计建设网站网站建站
  • 正规网站建设哪家好网站建设西班牙语
  • 怎么做外国网站流量网站备案时间太长
  • 网站动态模板东莞网络建设
  • 如何建立网站平台网站制作合同注意事项
  • 如何建购物网站怎么做单位网站
  • php技术的网站建设实录方案阿里云服务器怎么用