oi pessoal
estou com um projeto que precisa acessar duas bases diferentes,
procurei na internet e logo me surgiu a implementação do Dynamic DataSource Routing
com Spring, implementei e funcionou abaixo temos o applicationContext
<bean id="parentDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" abstract="true">
<property name="driverClassName" value="com.ibm.db2.jcc.DB2Driver" />
</bean>
<bean id="DB2TDataSource" parent="parentDataSource">
<property name="url" value="jdbc:db2://localhost:${db.port.db2t}/${db.base.db2t}"/>
<property name="username" value="user"/>
<property name="password" value="1234"/>
</bean>
<bean id="DBDESENVDataSource" parent="parentDataSource">
<property name="url" value="jdbc:db2://localhost:${db.port.dbdesenv}/${db.base.dbdesenv}"/>
<property name="username" value="admin" />
<property name="password" value="1234" />
</bean>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:/com/simplestec/recursos/db.properties"/>
</bean>
<bean id="dataSource" class="arrecadacao.integracao.dao.RoutingDataSource">
<property name="targetDataSources">
<map key-type="arrecadacao.integracao.enumeration.EmprelBDType">
<entry key="DBDESENV" value-ref="DBDESENVDataSource"/>
</map>
</property>
<property name="defaultTargetDataSource" ref="DB2TDataSource"/>
</bean>
o tutorial completo vcs podem ler em: http://blog.springsource.com/2007/01/23/dynamic-datasource-routing/
mas a dúvida é a seguinte:
no sistema quem irá fazer o conexão com banco de dados e fazer o pool de conexões será o servidor de aplicação Jboss AS 6 através de dataSources. logo me surgiu um problema como vou manter o roteamento dinamico das bases.
já tinha testado a utilização do datasource para um base só pela property no hibernate.cfg
<property name="hibernate.connection.datasource">java:ARTR-DBDESEN-DB2DS</property>
, mas não configurando no spring testei modificando a property do bean no applicationContext
<bean id="DBDESENVDataSource" parent="parentDataSource">
<property name="url" value="java:ARTR-DBDESEN-DB2DS" />
</bean>
mas não funcionou, logo pergunto se alguem poderia me dar uma idea em como resolver este problema