java - Spring Batch 中多个数据源的使用

标签 java spring datasource spring-batch

我正在尝试在 Spring Batch 中配置几个数据源。在启动时,Spring Batch 抛出以下异常:

要使用默认的 BatchConfigurer,上下文必须包含不超过一个 DataSource,找到 2

批处理配置中的片段

@Configuration
@EnableBatchProcessing 
public class BatchJobConfiguration {

    @Primary
    @Bean(name = "baseDatasource")
    public DataSource dataSource() {
         // first datasource definition here
    }
    @Bean(name = "secondaryDataSource")
    public DataSource dataSource2() {
         // second datasource definition here
    }
    ...
}

不知道为什么我会看到这个异常,因为我已经看到了一些基于 xml 的 Spring 批处理配置,它声明了多个数据源。我正在使用 Spring Batch 核心版本 3.0.1.RELEASE 和 Spring Boot 版本 1.1.5.RELEASE。任何帮助将不胜感激。

最佳答案

您必须提供自己的 BatchConfigurer。 Spring 不想为你做那个决定

@Configuration
@EnableBatchProcessing
public class BatchConfig {

     @Bean
      BatchConfigurer configurer(@Qualifier("batchDataSource") DataSource dataSource){
        return new DefaultBatchConfigurer(dataSource);
      }

...

关于java - Spring Batch 中多个数据源的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540502/

相关文章:

java - 用于 JUnit 测试的多个 Spring 数据源

java - 如何将IntelliJ IDEA 2017.1.2连接到Postgresql

mysql - 如何在 Visual Studio 中连接到 MySQL 数据源

java - 上下文数据源设置不会被拾取

java - 变量未在 for 循环中初始化

java - Play Framework : Edit welcome tag

解析 url 期间 Angular Http 失败

java - 手动更改语言在三星设备上不起作用

使用 Spring WebFlow 进行 Javascript 表单验证

java - 合并 2 个 Spring Data JPA 存储库类的最佳架构选择