2011-11-09 153 views
1

我希望属性文件的更改无需重新启动jboss服务器即可生效。重新装载属性文件而不重新启动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

这些类来自哪里,例如, 'PropertiesConfiguration'?据我所知这不是JDK的一部分... – home

+0

我有这三个进口语句排在前面 – Hawks

回答

0

很可能这个文件是在一个jar文件里。属性文件不会将更改保留在jar内,因此不会触发FileChangedReloadingStrategy

尝试将文件放在jar外面。

希望它有帮助。

+0

谢谢! 但文件不在jar..rather它在jboss/jboss-4.2.3.GA \ config – Hawks

0

我想玩弄你提到的代码,并给予绝对路径的属性文件MyProperties.properties工作

configure = new PropertiesConfiguration("C:\\MyProperties.properties"); 

不知道这是在图书馆或它应该使用方法的错误。

0

不会,即使你的属性文件在jar外面,它也不会工作。您的专有文件将与您的课程代码一起打包成运行代码(如.EAR文件),并在启动JBOSS之前部署在特定服务器上。除非您再次打包并再次部署到服务器上,否则对原始属性文件所做的任何更改都不会生效。

相关问题