我希望属性文件更改生效,而不必重新启动jboss服务器。
我的代码就像这样
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
public class Myclass{
private static PropertiesConfiguration configure;
try {
configure = new PropertiesConfiguration("MyProperties.properties");
configure.setReloadingStrategy(new FileChangedReloadingStrategy());
configure.setAutoSave(true);
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
但是在重新启动服务器之前这不起作用。
任何人都可以帮助我吗?
谢谢!!!
答案 0 :(得分:0)
这个文件很可能是在一个jar文件中。属性文件不会在jar中保留更改,因此不会触发FileChangedReloadingStrategy
。
尝试将文件放在jar外面。
希望它有所帮助。
答案 1 :(得分:0)
我尝试使用您提到的代码并给出属性文件MyProperties.properties
的绝对路径
configure = new PropertiesConfiguration("C:\\MyProperties.properties");
不确定这是否是库中的错误或其使用方式。
答案 2 :(得分:0)
没有。即使你的属性文件在jar之外,它也不会工作。您的正确文件将与您的类代码打包在一个正在运行的代码中,例如.EAR文件,并在启动JBOSS之前部署在特定于服务器的目录上。对原始属性文件的任何更改都将不再起作用,除非您再次打包并再次部署在服务器上。