【问题标题】:DataSource conflict in Spring Batch and Spring Batch admin integrationSpring Batch 和 Spring Batch 管理集成中的数据源冲突
【发布时间】:2016-06-16 15:36:43
【问题描述】:

我在我的应用程序中使用 Spring Batch Framework,我已经成功集成了 Spring Batch Admin。当我尝试为 JdbcTemplate 创建 bean 时。它给了我以下错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourceInitializer': Invocation of init method failed; nested exception is org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2: dataSource,phoenixDataSource

Spring Batch Admin 使用“dataSource”,而“phoenixDataSource”由我创建。我如何区分两者,有没有办法将@Qualifier 提供给 BatchAdmin 使用的数据源。

【问题讨论】:

    标签: spring datasource spring-batch spring-batch-admin


    【解决方案1】:

    除了@Ashish,您可以使用限定符来引用您想要使用的数据源。

    @Qualifier("phoenixDataSource")
    private Datasource datasource;
    
    @Qualifier("phoenixDataSource")
    public class PhoenixDatasource{
    
    }
    

    【讨论】:

      【解决方案2】:

      我的建议是您将phoenixDataSource 重命名为dataSource 并在spring 批处理管理bean 之前首先加载您的应用程序上下文。

      【讨论】:

        猜你喜欢
        • 2012-11-28
        • 1970-01-01
        • 2016-02-26
        • 2018-07-02
        • 1970-01-01
        • 2017-06-12
        • 1970-01-01
        • 2023-03-12
        • 2011-10-16
        相关资源
        最近更新 更多