场景:在处理业务中使用@Transactional注解提交事务
@Transactional(rollbackFor = Exception.class)
public static <T> T switchDatasource(String datasource, Supplier<T> statement) {
DynamicDataSourceContextHolder.push(datasource);
// 执行语句
DynamicDataSourceContextHolder.push(datasource);
}
解决:使用@DSTransactional注解可以控制多数据源进行回滚