2011-11-09 139 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之前部署在特定服務器上。除非您再次打包並再次部署到服務器上,否則對原始屬性文件所做的任何更改都不會生效。

相關問題