在Spring Boot中动态更改application.properties值

问题描述

正如@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

有什么解决办法吗?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”