Spring Boot 共享Tomcat服务器中每个应用程序的Java参数不同

eivgtgni  于 2022-12-18  发布在  Spring
关注(0)|答案(1)|浏览(144)

我在一个共享的Tomcat环境中部署了两个spring servlet。我希望能够使用各自的命令行参数运行每个应用程序。例如,我希望使用不同的spring配置文件来运行每个应用程序。我知道我可以在www.example.com中设置环境变量setenv.sh,但我希望使其动态化。我曾认为我可以在www.example.com中执行if/elsecatalina.sh,如果应用程序名称为X,然后相应地设置参数。我可以使用我的应用程序拾取的环境变量并从这里设置配置文件吗?有人知道如何实现这一点吗?我不想更改应用程序的构建,也不想进行会影响此共享Tomcat服务器中其他应用程序的全局更改。
我试过在www.example.com中设置一个if/elsecatalina.sh,其中设置了JAVA_OPTS,但这不是为每个应用程序设置的,而是全局设置的。我希望能够更改自动部署war的位置。

goqiplq2

goqiplq21#

它可能不完美,但对我很有效:
我已经为每个应用程序创建了环境变量,并在每个应用程序的属性文件中读取这些变量。在示例中,应用程序A和应用程序B需要使用两个不同的Spring配置文件运行。
在www.example.com中setenv.sh

export PROJECT-A_SPRING_PROFILE="develop"
export PROJECT-B_SPRING_PROFILE="prod"

在每个应用程序的属性文件中,我会分别引用它们,即spring.profiles.active=${PROJECT-A_SPRING_PROFILE:#{default}}spring.profiles.active=${PROJECT-B_SPRING_PROFILE:#{default}}

相关问题