对于spring framework,我想手动重新加载属性文件中的数据。实际上,当我手动运行这个servlet文件时,我必须编写一个重新加载servlet来手动重新加载数据。
我已经为MessageSource定义了Spring配置。
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="classpath:/message" />
但不希望在特定时间段自动加载,例如,设置时可以自动加载:
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="classpath:/message"
p:cacheSeconds="1" />
我以前尝试过clear缓存(),但没有自动加载。
我不知道,你的意思是手动重新加载属性文件。Spring
已经提供加载属性
文件如下。
在spring配置文件中配置属性
文件。例如,applicationContext。xml
或Springbeans。xml
<util:properties id="MY_CONFIG" location="classpath:MY_CONFIG.properties"/>
在你的sping bean中,注射如下
@Resource(name = "MY_CONFIG")
private Properties properties;
你的servlet调用spring bean。
使现代化
如果您想直接从Servlet或其他类加载文件
在Servlet/JSP中加载属性文件
它现在正在工作。需要将messageSource注入servlet文件并调用clearCache()。它会清除以前的属性数据并重新加载更新的属性文件。
在重新加载servlet中。JAVA
ReloadableResourceBundleMessageSource rs = Global.getBean("messageSource", ReloadableResourceBundleMessageSource.class);
rs.clearCache();
在全球。JAVA
private static ApplicationContext context;
public static <T> T getBean(String s, Class<T> type) {
return context.getBean(s, type);
}
谢谢。
我在尝试添加
问题内容: 我有一个申请。在运行文件夹下,还有一个附加的配置文件: 应用程序启动时,它将使用文件中的值并将其注入到: 问题:如何触发这些属性的重新加载?我希望能够在运行时更改配置,并更新字段(也许可以通过在应用程序内部调用servlet 触发更新)。 但是如何? 问题答案: 使用下面的bean每1秒重新加载config.properties。 你的主要配置如下所示: 而不是使用@Value,每次你
问题内容: 我在Spring 3中使用属性文件。当Spring初始化其contex时,它将加载属性文件,并将其放入带有@Value批注的所有bean中。 我希望有可能更新文件中的某些属性,并在服务器上公开一个JMX,该JMX将新属性重新加载到Spring中-无需重新启动服务器并重新加载其上下文。 我可以通过使用一些 Spring方法 来重新加载属性并将其填充到所有bean中来实现此功能,还是应该自
问题内容: 我希望对我在Spring中涉及到属性文件的问题有所帮助。所以我的设置是这样的: opto-mapping.properties –该文件位于我的src文件夹中,其中包含针对我的优化资源的翻译,如下所示: 每次运行“优化”构建时,都会更新此属性文件。然后我用 将属性文件导入所需的jsp中。然后通过使用以下内容引用内容: 除了属性文件需要重新启动tomcat重启外,所有这些工作都很漂亮。我
是否可以从服务器加载Spring Boot配置。json文件,而不是。亚马尔。房产?从文档来看,这是不支持开箱即用的——我想知道这是否可能,如果可能的话,人们将如何着手呢?