【问题标题】:Environment Specific Setting Spring Batch Spring Boot Spring Cloud Data flow环境特定设置 Spring Batch Spring Boot Spring Cloud 数据流
【发布时间】:2021-05-12 12:48:09
【问题描述】:

我有一个 Spring Batch Spring Boot 应用程序需要转换为图像,然后在 Spring Cloud Data Flow 中使用它来安排作业。我有 DEV、UAT、PROD 配置

应用程序属性/dev/application.yml

分别。我们被告知要提及密码和用户名

password: ${DB_ORCL_PASSWORD}

username: ${DB_ORCL_USER}

我不确定如何根据环境替换凭据。这是我在构建 docker 映像时应该提供的东西吗?

【问题讨论】:

标签: spring-boot dockerfile spring-batch spring-cloud-dataflow


【解决方案1】:

根据您指定不同用户名和密码的环境创建不同的配置文件:application-dev.yml、application-uat.yml 和 application-prod.yml。每个配置文件都可以由java -jar --spring.profiles.active=<profile> 运行。更多详情:https://www.baeldung.com/spring-profiles.

对于图像,您可以使用带有配置文件的 java 命令指定入口点。看到这个问题:How can I start spring boot application in docker with profile?

【讨论】:

    【解决方案2】:

    它的 spring 框架功能用于外部化配置。

    application.propertiesapplication.yml 中的值在使用时会通过现有的 Environment 过滤,因此您可以参考之前定义的值(例如,来自系统属性)。标准的 ${property-value} 属性占位符语法可用于值内的任何位置。

    注意:您需要在所有环境中设置具有相同属性键名称的环境变量。使用环境变量中给定的值渲染属性值是由 spring 完成的。你不必担心这个。

    Property Placeholders

    【讨论】:

      猜你喜欢
      • 2019-10-17
      • 2018-10-24
      • 1970-01-01
      • 2018-05-27
      • 2014-09-07
      • 2017-07-03
      • 1970-01-01
      • 2018-03-22
      • 2018-07-10
      相关资源
      最近更新 更多