应用程序运行时更新Spring Boot属性的更好方法

时间:2017-08-29 13:36:11

标签: java spring rest spring-boot properties

到目前为止,我已经看到了通过更改属性文件本身,然后重新加载文件,或使用@RefreshScope注释或Spring Cloud Config来更新Spring启动应用程序的方法。

我无法直接找到任何内容(例如getEnvironment().updateProperty(key, value))。

有没有办法做到这一点?

例如,我需要更改应用程序的日志记录类型,以显示SQL; 我的application.properties文件包含以下行:spring.jpa.show-sql=false

但是如果我想在应用程序运行时通过REST调用将其设置为true该怎么办?

你能建议一种更简单的方法吗?和/或展示如何自己做这个特定属性的例子?

编辑:更改不需要反映在application.properties文件中。因此,当重新启动应用程序时,它将使用最初在application.properties文件中设置的属性。

1 个答案:

答案 0 :(得分:0)

一些答案​​建议使用Spring Cloud Config Server。对于某些人来说,这可能是一个过大的杀伤力。这样的答案正是您要寻找的。 How to hot reload properties in Spring Boot and Java EE