私は、Springで1つのDataSourceを使用するのにJavaコード内からデータベースを切り替えることができる最良の方法は何か探していますか?私の2つのデータソースは以下のとおりで、同じデータベースサーバーだが異なるデータベースに移動します。1つのDataSourceでSpringのデータベースをプログラム的に変更するにはどうすればよいですか?
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDataSource" />
<property name="url"
value="jdbc:sybase:Tds:10.20.30.40:50/DATABASE_EMS" />
<property name="username" value="userid" />
<property name="password" value="derp" />
</bean>
<bean id="dataSourceMain" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.sybase.jdbc3.jdbc.SybDataSource" />
<property name="url"
value="jdbc:sybase:Tds:10.20.30.40:50/DATABASE" />
<property name="username" value="userid" />
<property name="password" value="derp" />
</bean>
私は彼らが自分のそれぞれのBeanに結合したが、私は自分のレガシーコードを見ていることだし、それは2つの別々の豆でこれを実装することは非常に厄介なことになるだろうがあります。必要なときに1つのDataSourceを使用してデータベースを切り替える方法についてのアイディアや考えはありますか?
どのようにデータベースを切り替えたいのですか?データベースを決定する基準は何ですか? –
良いことは、動的である必要はないということです。必要に応じて、DAOを呼び出す前に明示的に変更することができます。 – Carlos