java - 部署在 spring-cloud-dataflow-server 中的服务如何连接到另一个数据库而不是数据流服务器使用的数据库?

标签 java postgresql spring-boot spring-batch spring-cloud-dataflow

案例是我在本地机器上启动了 Spring Cloud Data Flow Server 和 Shell 应用程序,它们都使用 H2 内存数据库来存储任务和作业定义。

当我部署使用 H2 作为数据库读取数据的应用程序时,它运行良好。

但是当我想部署和运行从本地postgresql数据库读取数据的应用程序时,它找不到它,然后又会使用H2。

我在我的 pom 中添加了 postgresql 依赖项,还在 application.properties 中配置了属性,它在我本地的 Intelij 中与 spring batch 一起工作得很好。

所以我的问题是,如何让我的应用程序在部署到 spring-cloud-data-flow-server 后仍然从 postgresql 读取数据?谢谢。

配置信息:

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.0.RELEASE</version>
        </parent>

        <properties>
            <java.version>1.8</java.version
         <spring.cloud.task.version>2.0.0.RELEASE</spring.cloud.task.version>
        </properties>

        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-batch</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-task-core</artifactId>
                <version>${spring.cloud.task.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-task-batch</artifactId>
                <version>${spring.cloud.task.version}</version>
            </dependency>

最佳答案

您可以控制哪些datasource 应该被配置到 SCDF、Tasks、Task-launcher,甚至 Composed Task Runner。 documentation for these options可能会有用。

但是,在您的情况下,听起来您有 2 个不同的数据库:一个用于 SCDF,另一个用于 SCDF 启动的任务,这应该是一个非常简单的设置,只要 datasource两个引导应用程序上的属性均已正确配置。

可能是类路径中没有 Postgres 驱动程序,或者 datasource 属性配置不正确。查看 connection properties for the supported databases 的文档- 你可以仔细检查是否正确。

关于java - 部署在 spring-cloud-dataflow-server 中的服务如何连接到另一个数据库而不是数据流服务器使用的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754825/

相关文章:

JavaPreparedStatement,当batchExecute没有任何参数时会发生什么?

java - CORS Spring Security Oauth2

spring-boot - spring zuul中基于严格匹配的匹配路由

java - Amazon S3 - 使用 Java API 在 S3 存储桶中递归列出所有 zip 文件

java - Eclipse JDT Java Parser 中是否有任何类型的 "line visitor"?如果没有,有人知道一个好的解决方法吗?

sql - 使用其他表的属性以及新属性创建表

postgresql - 创建一个带有参数作为子选择的函数

java - 预检响应中的 Access-Control-Allow-Headers 不允许在请求 header 字段 Access-Control-Allow-Origin 中启用 cors

java - 如何在java中获取下一个更高的十进制值,四舍五入到一位小数?

php - pg_connect 使我的 php 脚本崩溃