Pam*_*mba 5 java spring spring-boot
目前我正在 Spring Boot 中开发一个基于 REST 的项目。我已在“application.properties”文件中添加了 api url。
IE
api-base-url=http://localhost:8080/RestServices/v1
Run Code Online (Sandbox Code Playgroud)
还有来自 java 的“api-base-url”值访问。
在某些情况下,我需要动态更改“api-base-url”。我已经动态更改了“api-base-url”值并且工作正常。
但我的问题是,当 Wildfly 重新启动时,配置将重置为默认值。
即这是我的默认值
api-base-url=http://localhost:8080/RestServices/v1
Run Code Online (Sandbox Code Playgroud)
动态改变为
api-base-url=http://10.34.2.3:8080/RestServices/v1
Run Code Online (Sandbox Code Playgroud)
当 Wildfly 重新启动时,配置将重置为默认值。IE
api-base-url=http://localhost:8080/RestServices/v1
Run Code Online (Sandbox Code Playgroud)
有什么解决办法吗?
正如 @moilejter 所建议的,一种可能的方法是保留在数据库表中,并且在启动时您只需从该表而不是 application.properties 文件中读取。您的 application.properties 文件可以保存数据库连接所需的信息。
您还需要一个 JMX 方法或 REST API 来在您的应用程序中触发 url 已更改,并且只需从同一个表中读取即可。这样,即使应用程序重新启动,您也将是安全的,并且不会丢失覆盖。
您可以将 BeanFactoryPostProcessor 与环境 bean 结合使用来利用 spring 占位符概念。
| 归档时间: |
|
| 查看次数: |
14825 次 |
| 最近记录: |