【问题标题】:Externalize the app-profiles in spring boot with multiple web apps running on tomcat使用在 tomcat 上运行的多个 Web 应用程序将 Spring Boot 中的应用程序配置文件外部化
【发布时间】:2021-12-15 20:45:29
【问题描述】:

我是 Spring Boot 和 tomcat 的新手。我有多个 web application3 在 tomcat 中运行。

我在 tomcat 上运行了 3 个 web 应用程序(spring boot),即 app1、app2 和 app3。在我的应用配置文件中,我有 3 个 yaml 文件(每个应用一个)。

application-app1.yml
application-app2.yml
application-app3.yml

另外,我的环境设置如下:

JAVA_OPTS='-Dspring.profile.active=uat,qa,default'

在 /tomcat/webapp 我有以下文件夹:

app1
app2
app3

当我将另一个文件名添加为 application-uat.yml 时,应用程序配置文件会选择外部 yml 文件 但是,如果发生这种情况,那么所有应用程序都会选择相同的 yml 文件。

我的问题:

我如何确保为该特定应用程序选取特定的 yml 文件?

TIA

【问题讨论】:

    标签: spring-boot unix tomcat9


    【解决方案1】:

    您可以通过在每个应用程序WEB-INF/web.xml 文件中配置spring.config.additional-location 参数来指定外部配置文件名称。例如。对于 app1,您可以进行此配置...

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
              http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
      <context-param>
        <param-name>spring.config.additional-location</param-name>
        <param-value>file:./config/app1.yml</param-value>
      </context-param>
    </web-app>
    

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 2021-12-16
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 2019-03-08
      • 2015-05-20
      • 2017-10-23
      • 2019-07-28
      相关资源
      最近更新 更多