使用自己的数据库配置 Spring Cloud Data Flow 任务

S0m*_*0n3 5 java spring-data-jpa spring-boot spring-cloud-dataflow

我有一个带有自己的数据库的任务应用程序,我想在 Spring Cloud Data Flow 中运行。

我的问题是 SCDF 使用 SCDF 的数据源配置覆盖任务中的数据源配置。(这两个数据库都是 Oracle DB。)

我的任务应该写入不同的数据库(但我也想知道它在 SCDF 数据库中的状态)。

如何配置我的任务以连接到其自己的数据库以及 SCDF 的数据库?

S0m*_*0n3 6

我找到了解决方案。

我在配置类中定义了两个数据源(一个用于 JPA,一个用于 SCDF),以此为例:https: //www.baeldung.com/spring-data-jpa-multiple-databases

但这还不够,因为默认情况下数据流服务器仅接受一个数据源。为了克服这个问题,需要在构造函数中扩展DefaultTaskConfigurer并设置数据流服务器的数据源。

@Component
public class GeneratorTaskConfigurer extends DefaultTaskConfigurer {

    public GeneratorTaskConfigurer(@Qualifier("dataflowDataSource") DataSource dataSource) {
        super(dataSource);
    }
}
Run Code Online (Sandbox Code Playgroud)