当使用try catch 捕获带jdbctemplate的方法时,切换数据源里面的jdbctemplate无法捕获到切换失败,原因未找到
DataSourceContextHolder.setDataBaseType(DataSourceEnum.SQLSERVER_DATASOURCE);
List<TBTRAN> updates = tableDao.getUpdates(tablename);
if (updates != null && updates.size() != 0) {
fromDao.execUpdates(updates, endtimeTemp);
}
总结:对所有的定义的DML操作方法时,不能用try catch将代码块和切换数据源的方法隔离,不然数据源无法切换
错误方式
DataSourceContextHolder.setDataBaseType(DataSourceEnum.SQLSERVER_DATASOURCE);
try{
List<TBTRAN> updates = tableDao.getUpdates(tablename);
if (updates != null && updates.size() != 0) {
fromDao.execUpdates(updates, endtimeTemp);
}
}catch(exception e)....