Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)Spring动态切换数据源(20170221)

 


方法一:初始化预先定义的数据源切换(适用于c3p0dbcpdruid


Spring动态切换数据源(20170221)


 


  1. bean.xml配置文件:


Spring动态切换数据源(20170221)


2DynamicDataSource.java用来实现动态切换数据源,并通知容器。


Spring动态切换数据源(20170221)


 


3DataSourceContextHolder.java切换数据源。


Spring动态切换数据源(20170221)


 


4、在需要切换到数据源B的地方调用DAO前加上DataSourceContextHolder.setDataSourceType("DataSourceB");即可切换到B


 


方法二:在Web应用程序加载后,监听配置文件db.properties,一旦发生变化则设置DataSource使其更新数据库连接配置产生新的连接。(适用于dbcp


 


1、实现文件变化监听功能。(略)


参考:http://www.phpstudy.net/b.php/72659.html


 


  1. bean.xml配置文件:


Spring动态切换数据源(20170221)


 


3TdmsBasicDataSource.java


Spring动态切换数据源(20170221)


 


BasicDataSourcecreateDataSource方法会先判断dataSource属性是否为空,如果为空则通过driverClassName等配置属性重新产生一个dataSource


当监听到配置文件内容发生变化时,TdmsBasicDataSource.setChanged(true);


 


 


方法三:在Web应用程序加载后,监听配置文件db.properties,一旦发生变化则设置DataSource使其更新数据库连接配置产生新的连接。(适用于druid


 


1、实现文件变化监听功能。(略)


参考:http://www.phpstudy.net/b.php/72659.html


 


2bean.xml配置文件:


Spring动态切换数据源(20170221)


 


3SpringWiredBean.java获取当前Spring容器bean


Spring动态切换数据源(20170221)


 


4、更新数据源方法


Spring动态切换数据源(20170221)


 


 


 


 


 




相关文章: