相关疑难解决方法(0)

在运行时设置/覆盖Spring/Spring Boot属性

在使用Spring Boot的项目中,我们使用application.properties,但需要根据外部配置配置其中一些属性(如日志级别的端口号).我们通过API访问配置,因此仅在运行时才知道.

有没有办法在运行时覆盖或设置一些Spring属性(例如使用bean),如果是,如何实现?

spring spring-boot

16
推荐指数
2
解决办法
2万
查看次数

如何用Spring重新加载属性?

我正在使用Spring 3的属性文件.当Spring初始化它的上下文时,它会加载属性文件并将其放在所有带有@Value注释的bean中.

我希望有可能更新文件中的某些属性,并在服务器上公开JMX,将新属性重新加载到Spring - 无需重新启动服务器,并重新加载其上下文.

我可以通过使用一些Spring方法重新加载属性并将它们填充到所有bean来实现它,或者我应该自己写这样的东西吗?

java spring properties

15
推荐指数
2
解决办法
2万
查看次数

如何在Java EE和Spring Boot中热重新加载属性?

我想到了许多内部解决方案.就像在数据库中拥有属性并每隔N秒轮询它一样.然后还要检查.properties文件的时间戳修改并重新加载它.

但我正在研究Java EE标准和Spring引导文档,我似乎无法找到一些最好的方法.

我需要我的应用程序来读取属性文件(或环境变量或数据库参数),然后才能重新读取它们.生产中使用的最佳实践是什么?

一个正确的答案至少可以解决一个场景(Spring Boot或Java EE)并提供一个关于如何使其在另一个场景上工作的概念线索

spring properties java-ee spring-boot

11
推荐指数
3
解决办法
1万
查看次数

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

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

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

有这种方法吗?

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

但是,如果我想true通过REST调用在应用程序运行时将此设置为?

您能建议一种更简单的方法吗?和/或显示有关此特定属性的示例,您将自己如何做?

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

java rest spring properties spring-boot

5
推荐指数
1
解决办法
2606
查看次数

标签 统计

spring ×4

properties ×3

spring-boot ×3

java ×2

java-ee ×1

rest ×1