gpt4 book ai didi

java - 如何在运行时在 spring 中重新加载/刷新属性而不重新启动 jvm?

转载 作者:行者123 更新时间:2023-12-01 04:26:43 28 4
gpt4 key购买 nike

如何在运行时在 spring 中重新加载/刷新属性而不重新启动 jvm?

我正在寻找一些优雅的东西,它应该适用于产品。因此,我猜 JRebel 已经不在考虑之列了。

目前,我的属性位于 MYProject.properties

oms.url=abbc.com
checkin.enabled=true

并且我的 java 文件会自动连接以从 applicationContext 提供的不同属性文件中搜索和使用这些属性:

<bean id="applicationProperties" class="myproject.config.CustomPropertyPlaceHolder">
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:MyProject.properties</value>
<value>file:${CATALINA_BASE}/lib/MyProject.properties</value>
<!--<value>file:///appl/conf/outlet.properties</value>-->
<value>classpath:db.password</value>
<value>file:${CATALINA_BASE}/lib/db.password</value>
<!-- <ref bean="applPropertiesFromDb" /> -->
</list>
</property>
</bean>

Java 文件为:

@Value("${checkin.enabled}")
private String checkinEnabled;

最佳答案

使用ReloadableResourceBundleMessageSource

但这不会被刷新。

private String checkinEnabled;

您必须重新加载 checkinEnabled 变量。

关于java - 如何在运行时在 spring 中重新加载/刷新属性而不重新启动 jvm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18441142/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com