3
我在想,如果我能为一个数据库运行多个数据源C3P0,像:我可以为数据库实例使用多个C3P0数据源吗?
<bean id="dataSource1" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${db.driverClassName}"/>
<property name="jdbcUrl" value="${db.url}/schema1"/>
<property name="user" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="acquireIncrement" value="1" />
<property name="idleConnectionTestPeriod" value="100"/>
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="50" />
<property name="maxIdleTime" value="1800" />
</bean>
<bean id="dataSource2" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${db.driverClassName}"/>
<property name="jdbcUrl" value="${db.url}/schema2"/>
<property name="user" value="${db.username}"/>
<property name="password" value="${db.password}"/>
<property name="acquireIncrement" value="1" />
<property name="idleConnectionTestPeriod" value="100"/>
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="50" />
<property name="maxIdleTime" value="1800" />
</bean>
他们将通过差异持久性服务使用。
谢谢。
我不使用自动装配。我手动定义applicationContext.xml文件中的依赖关系。我有这样的依赖关系图:'MessageService => MessageDAO => sessionFactory => dataSource1'和'PersonService => PersonDAO => sessionFactory => dataSource2'。这两个服务都具有函数的'@ Transactional'声明。我希望这可以工作。谢谢。 – scabbage
@ scabbage:那么它将“只是工作”。不过,请参阅我在@ Transactional上的更新。 –