首页 / JAVA / java-更改后重新加载属性文件
java-更改后重新加载属性文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-更改后重新加载属性文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1880字,纯文字阅读大概需要3分钟。
内容图文
![java-更改后重新加载属性文件](/upload/InfoBanner/zyjiaocheng/676/04cbc5016d854a6b922fe8203614a770.jpg)
我将属性文件加载到一个类中,然后在整个应用程序中使用该类来获取它们.
public class PropertiesUtil extends PropertyPlaceholderConfigurer {
private static Map<String, String> properties = new HashMap<String, String>();
@Override
protected void loadProperties(final Properties props) throws IOException {
super.loadProperties(props);
for (final Object key : props.keySet()) {
properties.put((String) key, props.getProperty((String) key));
}
}
public String getProperty(final String name) {
return properties.get(name);
}
}
并在ApplicationContext.xml中
<bean id="propertiesUtil"
class="com.test.PropertiesUtil">
<property name="locations">
<list>
<value>classpath:test/test.properties</value>
</list>
</property>
</bean>
现在,我想确保每当更改属性文件时都会重新加载.
我有一个侦听器类,它与tomcat服务器一起初始化.
而且我已经为文件监视程序编写了以下逻辑
TimerTask task = new FileWatcher(new File("c:\\temp-reb\\config\\config.properties")) {
/*
* (non-Javadoc)
* @see com.belgacom.rosy.rebecca.utils.FileWatcher#onChange(java.io.File)
*/
@Override
protected void onChange(File file) {
loadServiceProperties(file);
loadMetadata();
}
};
Timer timer = new Timer();
timer.schedule(task, new Date(), Long.valueOf(properties.getProperty("properties.file.timer.schedule"))); // repeat the check every second
问题是
- FileWatcher needs path to run, which I don’t want to hardcode
- How do I tell spring to call properties to reload explicitly!
解决方法:
- FileWatcher needs path to run, which I don’t want to hardcode
只需提供相对路径,例如在同一项目文件夹中的资源目录,就可以使用getResource()方法获得该相对路径.您还可以使用system property来访问user.dir这样的用户目录,这是使用工作目录.
File f = new File(System.getProperty("user.dir")+ "/test.properties");
System.out.println(f.getAbsolutePath());
2. How do I tell spring to call properties to reload explicitly!
目前,您的操作方式对我来说似乎还可以.可能还有其他方法,但是我看不到上述过程有任何缺陷.
内容总结
以上是互联网集市为您收集整理的java-更改后重新加载属性文件全部内容,希望文章能够帮你解决java-更改后重新加载属性文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。