问题描述
正如@moilejter所建议的那样,一种可能的方法是将其保留在数据库表中,并且在开始时,您只需从该表中读取而不是从application.properties文件中读取即可。您的application.properties文件可以保存数据库连接所需的信息。
您还需要一个JMX方法或REST API来在您的应用程序中触发该URL发生了更改,并且该URL会直接从同一表中读取。这样,即使应用程序重新启动,您也将很安全,并且不会丢失覆盖。
您可以将beanfactoryPostProcessor与Environment Bean结合使用,以利用Spring占位符概念。
解决方法
目前,我正在Spring Boot中基于REST的项目上工作。我在“ application.properties”文件中添加了api网址。
即
application.properties
api-base-url=http://localhost:8080/RestServices/v1
以及来自Java的“ api-base-url”值访问。
在某些情况下,我需要动态更改“ api-base-url”。我已经动态更改了’api-base-url’的值并且可以正常工作。
但是我的问题是,当wildfly重新启动时,配置将重置为默认值。
即这是我的默认值
api-base-url=http://localhost:8080/RestServices/v1
动态更改为
api-base-url=http://10.34.2.3:8080/RestServices/v1
当wildfly重新启动时,配置将重置为默认值。即
api-base-url=http://localhost:8080/RestServices/v1
有什么解决办法吗?