jdbcTemplate 使用 dynamicDataSourceContexHolder不生效
- 事务管理器的问题
动态数据源切换往往在事务中失效,因为事务管理器通常会在事务开始时锁定数据源,导致数据源无法动态切换。你可以检查一下是否有事务注解 (@Transactional) 或者事务管理器的配置,确保它们正确配置为支持动态数据源。
解决办法: 在配置事务管理器时,使用动态数据源的事务管理器。例如:
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {return new DataSourceTransactionManager(dataSource);
}