String&XML-1.1

//停止监听
public void desFileLister()
{
if(FMap.size()>0)
{
Iterator<String>it=FMap.keySet().iterator();
while(it.hasNext())
{
String key=(String)it.next();
FMap.get(key).cancel();
}
}
}

//加载配置文件配置信息
private Properties loadProperties()
{
Properties prop=new Properties();
FileInputStream in=null;
InputStreamReader reader=null;

try
{
if(configFile!=null)
{
in=new FileInputStream(configFile);
prop.load(in);
}
else
{
configFile=defaultConfigFile;
//根据文件名加载到其内容
URL url=this.getClass().getClassLoader().getResource(defaultConfigFile);
reader=new InputStreamReader(url.openStream());
prop.load(reader);

}
//print all properties
Enumeration<?> enu=prop.propertyNames();
logger.info("Load configuration file[" + configFile + "] start...");
while (enu.hasMoreElements())
{
String key = (String) enu.nextElement();
logger.info(" key: " + key + ", value: "
+ prop.getProperty(key));
}
logger.info("Load configuration file[" + configFile + "] success.");

}
catch (Exception e)
{
e.printStackTrace();
}
return prop;
}

//对外开放的方法,可以取到监听的文件配置数据
public static String getProperty(String fileName,String key)
{
//如果size为0,则程序没有启动,先启动程序
if(FMap.size()==0)
{
synchronized (FileManager.class)
{
if(FMap.size()==0)
{
startService();
}
}
}
Object obj=FMap.get(fileName);
if(obj!=null)
{
FileListener listener=(FileListener) obj;
if(listener.isFileFlag())
{
return listener.getProperties().getProperty(key);
}
else
{
return key;
}
}
else
{
return null;
}
}

/**
* Function得不到配置文件中的内容时,返回defaultValue的值
*/
public static String getProperty(String fileName,String key,String defaultValue)
{
String value=getProperty(fileName, key);
if(value==null)
{
value=defaultValue;
}

return value;
}
/**
* 提供给ESB使用的方法,取ESB配置文件数据
*/
public static String getESBProperty(String key)
{
return getProperty("esb.properties", key);
}
/**
* 启动监听服务
*/
private static void startService()
{
FileManager fm=new FileManager();
fm.regFileListener();
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值