Spring 4有2个jdbc连接

时间:2017-07-08 10:30:47

标签: spring transactions spring-jdbc spring-4

如何使用Spring4 java配置类配置2个jdbc连接?

是否应为这两个连接配置2个事务管理器?

THX

编辑:

我只想使用JdbcTemplate no JPA,Spring Data。

1 个答案:

答案 0 :(得分:1)

示例配置可能如下所示。我还将一个完整的样本推送到GitHub,可以找到here

@Configuration
public class DataSourceConfiguration {

    @Bean
    public PlatformTransactionManager firstDataSourceTransactionManager() {
        return new DataSourceTransactionManager(firstDataSource());
    }

    @Bean(destroyMethod = "shutdown")
    @Primary
    public DataSource firstDataSource() {
        return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .generateUniqueName(true)
                .build();
    }

    @Bean
    public JdbcTemplate firstJdbcTemplate() {
        return new JdbcTemplate(firstDataSource());
    }

    @Bean
    public PlatformTransactionManager secondDataSourceTransactionManager() {
        return new DataSourceTransactionManager(secondDataSource());
    }

    @Bean(destroyMethod = "shutdown")
    public DataSource secondDataSource() {
        return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .generateUniqueName(true)
                .build();
    }

    @Bean
    public JdbcTemplate secondJdbcTemplate() {
        return new JdbcTemplate(secondDataSource());
    }

}