@Transactional注解内的方法@DS注解进行数据源切换不起作用解决方法

@Transactional

  1.REQUIRED----无事务新建事务,有则加入这个事务
  2.SUPPORTS----支持当前事务,无事务就以非事务方式执行;注意,如有外部存在事务,加入事务,无则省略
  3.MANDATORY----支持当前事务,当前不存在事务,则抛出异常      
  4.REQUIRES_NEW----存在事务则挂起,重新创建新事物执行,直至事务提交或回滚,原来的事务才会恢复执行
  5.NOT_SUPPORTED---以非事务方式执行,如操作在一个事务中,事务挂起,操作完成后才会恢复事务的执行
 6.NEVER----以非事务方式执行,存在事务则抛出异常
 

有些简单的需要用到下面的就可以解决:

@Transactional(propagation = Propagation.REQUIRES_NEW)

@DSTransactional

​2.另一种方式最后我们可以改为另外一种优雅的实现注:​​​​​​​@DSTransactional注解原理​

dynamic-datasource包为我们提供了一种更为优雅,开箱即用的注解,即@DSTransactional。

具体实现原理如下:

https://www.cnblogs.com/zhaobo1997/p/17976348

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值