public class ConfigManager {
protected final static org.slf4j.Logger logger = LoggerFactory.getLogger(ConfigManager.class); private boolean autoReload; private static final String BASE_PATH; private static final String GLOBAL_CONFIG_PATH = "global.config.path"; private static final String fileName="conf.properties"; private static volatile PropertiesConfiguration prop =null; static{
logger.info("å¼å§åå§åConfigurationManager===================== ");
SystemConfiguration sysConfig = new SystemConfiguration();
String globalPath = sysConfig.getString(GLOBAL_CONFIG_PATH);
logger.info("globalPath======================= "+globalPath); if(StringUtils.isBlank(globalPath)){/**é»è®¤å è½½classpathä¸é¢çæ件**/
globalPath = Thread.currentThread().getContextClassLoader().getResource("conf.properties").getFile();
}
BASE_PATH=globalPath;
} public ConfigManager(boolean autoReload) throws ConfigurationException { this.autoReload=autoReload;
loadConfig();
} public void loadConfig() throws ConfigurationException { if (null==prop){
prop=new PropertiesConfiguration();
}
File file=new File(BASE_PATH);
prop.setFile(file);
prop.setAutoSave(false); if(autoReload){/**éè½½çç¥,5ç§éçè§æ件åå***/
prop.setReloadingStrategy(new FileChangedReloadingStrategy());
}
prop.load();
} /**
* @param key
* @return value
*/
public String getProperty(String key) { return prop.getString(key);
} /**
* è·åæ´æ°ç±»åçé
置项
*
* @param key
* @return value
*/
public Integer getInteger(String key) {
String value = getProperty(key); return Integer.valueOf(value);
} /**
* è·åå¸å°ç±»åçé
置项
*
* @param key
* @return value
*/
public Boolean getBoolean(String key) {
String value = getProperty(key); return Boolean.valueOf(value);
} /**
* è·åLongç±»åçé
置项
*
* @param key
* @return
*/
public Long getLong(String key) {
String value = getProperty(key); return Long.valueOf(value);
} private static class SingletonHelp {
static ConfigManager instance; static { try {
instance = new ConfigManager(true);
} catch (ConfigurationException e) {
logger.error("ConfigurationManager error" +e);
}
}
} public static ConfigManager build(){ return SingletonHelp.instance;
}
}
温馨提示:答案为网友推荐,仅供参考