带有Tomcat DBCP的Spring JDBC和多个数据源

1 java spring spring-jdbc multiple-databases

我使用spring有多个数据源(适应多个mysql dbs)和使用tomcat dbcp.我得到一些奇怪的例外,比如

  • 找不到过程 - 当proc肯定存在于db中时
  • 无法从池中借用 - 本地开发设置,所以游泳池肯定不满

我觉得可能是这个问题,需要大家的投入:

jdbcTemplate在我的spring.xml每个查询中定义了一个对象,我需要触发,我调用jdbcTemplate.setDataSource()设置适当的数据源然后simplejdbccall(jdbctemplate)用来执行proc.

我是否应该同时定义多个jdbcTemplate对象,即每个定义的数据源一个.我在其上设置数据源jdbctemplate并执行存储过程的bean 被定义为prototype.

ska*_*man 5

JdbcTemplate如果你要继续改变它,你当然不应该使用共享a DataSource.设置DataSource一次,不管它.

这意味着多个JdbcTemplatebean,每个bean一个DataSource,或者JdbcTemplate按需手动创建新对象,并且不共享它们.创建新的没有显着的性能开销,这不是问题.

你可以将它们定义为prototype,但是如果要DataSource手动注入则没有多大意义.不妨实例化JdbcTemplate使用new.