private Configuration(String configPath) { logger.info("init..."); try { propConfig = new PropertiesConfiguration(configPath); FileChangedReloadingStrategy reloadStrategy = new FileChangedReloadingStrategy(); reloadStrategy.setRefreshDelay(refreshDelay); propConfig.setReloadingStrategy(reloadStrategy); } catch (ConfigurationException e) { logger.error("系统配置文件不存在!", e); } }
private Configuration _addFileProperties( String fileName, CompositeConfiguration loadedCompositeConfiguration) throws ConfigurationException { try { FileConfiguration newFileConfiguration = new PropertiesConfiguration(fileName); URL url = newFileConfiguration.getURL(); if (_log.isDebugEnabled()) { _log.debug("Adding file " + url); } Long delay = _getReloadDelay(loadedCompositeConfiguration, newFileConfiguration); if (delay != null) { FileChangedReloadingStrategy fileChangedReloadingStrategy = new FileConfigurationChangedReloadingStrategy(); if (_log.isDebugEnabled()) { _log.debug("File " + url + " will be reloaded every " + delay + " seconds"); } long milliseconds = delay.longValue() * 1000; fileChangedReloadingStrategy.setRefreshDelay(milliseconds); newFileConfiguration.setReloadingStrategy(fileChangedReloadingStrategy); } _addIncludedPropertiesSources(newFileConfiguration, loadedCompositeConfiguration); return newFileConfiguration; } catch (org.apache.commons.configuration.ConfigurationException ce) { if (_log.isDebugEnabled()) { _log.debug("Configuration source " + fileName + " ignored"); } return null; } }
private ConfigManager() { try { String configPath = this.getClass().getResource(ConstDef.SYSTEM_CONFIG).getFile(); // String configPath2 = // "/D:/Program%20Files/apache-tomcat-6.0.32/webapps/SkyFormOpt/WEB-INF/classes/config.properties"; configPath = java.net.URLDecoder.decode(configPath, "utf-8"); log.info("get sysconfig file : " + configPath); config = new CompositeConfiguration(); FileConfiguration pconfig = new PropertiesConfiguration(configPath); config.addConfiguration(pconfig); // pconfig.setAutoSave(true); // reload strategy FileChangedReloadingStrategy reloadStrategy = new FileChangedReloadingStrategy(); reloadStrategy.setRefreshDelay(3000); // for performance tunning , remove this line pconfig.setReloadingStrategy(reloadStrategy); log.info("initialize sysconfig config file OK"); } catch (Exception e) { log.error("initialize sysconfig config file error..."); e.printStackTrace(); } }