2017-10-09 78 views
2

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

Documentation提到

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

作为替代方案,但我不知道如何设置的。一些想法?

奖金:这将是很好的修改在运行时的性能,而无需重新部署应用程序

回答

1

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

<system-properties> 
    <property name="my.property" value="Hello"/> 
</system-properties> 

系统属性可以在运行时使用CLI或Web界面和其他方式进行更改。

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

你想重写什么属性?

+0

属性是特定于我们的应用程序的,特别是外部休息端点必须在环境之间不同。但是现在你的方法已经足够了。我应该看看如何处理热重新加载的属性 – carpinchosaurio