我正在尝试在 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/