我在属性文件中有一个属性。说' x'。 在我的Java类中,我在循环中使用这个x。因此,第一次执行循环时,它从属性文件加载,从第二次开始,它从内存中获取值,而不是每次都加载props文件。现在,如果我想在属性文件中更改x的值,我可以加载该值而无需重新启动应用程序吗?如果有,怎么样?
在.net中还有Session_OnStart的Java等价物吗?我听说.net中的Session_OnStart服务于此目的
答案 0 :(得分:0)
每次请求变量时,都可以加载和解析属性。
class RefreshingProperties extends Properties {
private final File file;
public RefreshingProperties (File file) throws IOException {
this.file = file;
refresh ();
}
private void refresh () throws IOException {
load (new FileInputStream (file));
}
@Override
public String getProperty (String name) {
try { refresh (); }
catch (IOException e) {}
return super.get (name);
}
}
只有在特定时间段到期后,您才可以调整它以重新加载