在JBoss中进行部署时覆盖Spring Boot应用程序属性

car*_*rio 5 java jboss spring-boot

我有一个基于Spring-Boot的应用程序,具有基于YAML的配置,当我使用时java -jar app.war -Dnamespace.properties=different_value,更改属性没有问题,但是现在我必须将该应用程序部署到JBoss EAP中,我成功地构建了war文件,但是我想修改属性(覆盖某些YAML值),而无需修改war。

文档提及

  • 来自Java:comp / env的JNDI属性。
  • Java系统属性(System.getProperties())

作为替代方案,但我不知道如何设置这些方案。有什么想法吗?

奖励:最好在运行时修改属性而无需重新部署应用程序

Sim*_*lli 5

您可以在 standalone.xml 中添加系统属性

<system-properties>
  <property name="my.property" value="Hello"/>  
</system-properties> 
Run Code Online (Sandbox Code Playgroud)

JBoss EAP 中的系统属性可以在运行时使用 CLI 或 Web 界面以及其他一些方式来更改。

如果您的应用程序正在重新加载,则取决于使用属性的位置。

您要覆盖什么属性?