Transacational
spring-boot多数据源 事务不起作用问题
不使用数据库的情况下 排除自动配置url
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
@Transactional(value = "mysqlTransactionManager",rollbackFor=Exception.class)
项目 多数据源的情况下 要事务 要指定回滚的数据源才可以
spring boot 项目默认开启事务
要在启动类上 添加 @EnableTransactionManagement 注解(springboot 默认配置可以不加)

异常不满足回滚要求
springboot默认检测RuntimeException和Error进行回滚,如果产生的异常不是这两类及其子类,springboot不会进行回滚。
解决办法:手动加上异常条件rollbackFor = {BizException.class,Error.class,RuntimeException.class}
其中 BizException extends Exception
@Transactional(rollbackFor = RuntimeException.class)
//这样指定了,error也一样会回滚
@Transactional(rollbackFor = Exception.class)

浙公网安备 33010602011771号