Estou desenvolvendo uma aplicação que irá se conectar à vários banco de dados. Não sei exatamente com irei fazer isso. A princípio estou querendo testar a conexão em 2 bancos distintos. Utilizo Spring + Hibernate. Minha dúvida inicial é como configurar meus arquivos persistence.xml e applicationContext.xml com vários datasources.
persistence.xml
<?xml version="1.0" encoding="UTF-8"?><persistence-unit name="cnjbrasil_rr">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.archive.autodetection"
value="class, hbm" />
<!--Configuracoes de dialeto e conexao-->
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLInnoDBDialect" />
<property name="hibernate.connection.driver_class"
value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url"
value="jdbc:mysql://localhost/cnjbrasil_rr" />
<property name="hibernate.connection.username"
value="root" />
<property name="hibernate.connection.password"
value="123456" />
<!--Configuracoes de Debug-->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="use_sql_comments" value="true" />
<!--Configuração do segundo nível de cache-->
<property name="hibernate.cache.provider_class"
value="net.sf.ehcache.hibernate.EhCacheProvider" />
<property name="hibernate.cache.provider_configuration"
value="/ehcache.xml" />
<property name="hibernate.cache.use_minimal_puts"
value="false" />
<property name="hibernate.cache.use_query_cache"
value="true" />
<property name="hibernate.cache.use_second_level_cache"
value="true" />
<property name="hibernate.cache.use_structured_entries"
value="true" />
<!--
<property name="hibernate.ejb.classcache.br.com.projudi.entities.Categoria"
value="read-write" />
<property name="hibernate.ejb.classcache.br.com.projudi.entities.Parte"
value="read-write" />
<property name="hibernate.ejb.classcache.br.com.projudi.entities.Certidao"
value="read-write" />
<property name="hibernate.ejb.classcache.br.com.projudi.entities.TipoCertidao"
value="read-write" />
Configuração do pool de c3p0-->
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
</properties>
</persistence-unit>
<persistence-unit name="cnjbrasil_rr2">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.archive.autodetection"
value="class, hbm" />
<!--Configuracoes de dialeto e conexao-->
<property name="hibernate.dialect"
value="org.hibernate.dialect.MySQLInnoDBDialect" />
<property name="hibernate.connection.driver_class"
value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url"
value="jdbc:mysql://localhost/cnjbrasil_rr2" />
<property name="hibernate.connection.username"
value="root" />
<property name="hibernate.connection.password"
value="123456" />
<!--Configuracoes de Debug-->
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.format_sql" value="true" />
<property name="use_sql_comments" value="true" />
<!--Configuração do segundo nível de cache-->
<property name="hibernate.cache.provider_class"
value="net.sf.ehcache.hibernate.EhCacheProvider" />
<property name="hibernate.cache.provider_configuration"
value="/ehcache.xml" />
<property name="hibernate.cache.use_minimal_puts"
value="false" />
<property name="hibernate.cache.use_query_cache"
value="true" />
<property name="hibernate.cache.use_second_level_cache"
value="true" />
<property name="hibernate.cache.use_structured_entries"
value="true" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000"/>
</properties>
</persistence-unit>
applicationContext
<?xml version="1.0" encoding="UTF-8"?><bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="cnjbrasil_rr" />
</bean>
<context:component-scan base-package="br.com.projudi.controller" />
<context:annotation-config />
<bean id="transactionManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory"
ref="entityManagerFactory" />
</bean>
<tx:annotation-driven />
<bean id="categoriaDao" class="br.com.projudi.dao.imp.CategoriaDaoImp" />
<bean id="parteDao" class="br.com.projudi.dao.imp.ParteDaoImp" />
<bean id="tipoCertidaoDao" class="br.com.projudi.dao.imp.TipoCertidaoDaoImp" />
<bean id="certidaoDao" class="br.com.projudi.dao.imp.CertidaoDaoImp" />
Alguêm poderia me ajudar?!