配置文件

package com.lolaage.cisvr.sysconf;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import com.lolaage.cisvr.sysconst.CiSvrConst;

/**
*
*/

/**
* @author huangye
*/
public class CiSvrConfig implements ICiSvrConfig
{
/**
* instance
*/
private static CiSvrConfig instance = null;

/**
* reader
*/
private SAXReader reader;

/**
* document
*/
private static Document document;

/**
* log
*/
private static Log log = LogFactory
.getLog(CiSvrConfig.class);

/**
* @return
*/
public synchronized static CiSvrConfig getInstance()
{
if (null == instance)
{
instance = new CiSvrConfig();
}
return instance;
}

/**
* constructor
*/
public CiSvrConfig()
{
init();
}

/**
* init data
*/
public void init()
{
try
{
reader = new SAXReader();
document = reader.read(new FileInputStream(
CiSvrConst.CI_SVR_CONFIGURATION_FILE));
}
catch (FileNotFoundException e)
{
if (log.isErrorEnabled())
{
log.error("read config file failed." + e);
}
}
catch (DocumentException e)
{
if (log.isErrorEnabled())
{
log.error("read config file failed." + e);
}
}
}

/**
* @param parentNodeName
* @param childNodeName
*/
public String readString(String parentNodeName, String childNodeName)
{
String rslt = "";
Element root = document.getRootElement();
Iterator it = root.elementIterator();
while (it.hasNext())
{
Element child = (Element) it.next();
if (parentNodeName.equalsIgnoreCase(child.getName()))
{
Iterator itr = child.elementIterator();
while (itr.hasNext())
{
Element cd = (Element) itr.next();
if (childNodeName.equalsIgnoreCase(cd.getName()))
{
rslt = cd.getText();
break;
}
}
break;
}
}
return rslt;
}

/**
* @param parentNodeName
* @param childNodeName
*/
public void writeString(String parentNodeName, String childNodeName,String maxEventIdHadHandled) {
Element root = document.getRootElement();
Iterator<?> it = root.elementIterator();
while (it.hasNext()) {
Element child = (Element) it.next();
if (parentNodeName.equalsIgnoreCase(child.getName())) {
Iterator<?> itr = child.elementIterator();
while (itr.hasNext()) {
Element cd = (Element) itr.next();
if (childNodeName.equalsIgnoreCase(cd.getName())) {
cd.setText(maxEventIdHadHandled);
break;
}
}
break;
}
}

FileWriter out;
try {
out = new FileWriter(CONFIG_FILE_NAME);
document.write(out);
out.flush();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


/**
* @param parentNodeName
* @param childNodeName
* @return
*/
public int readInt(String parentNodeName, String childNodeName)
{
int rslt = 0;
Element root = document.getRootElement();
Iterator it = root.elementIterator();
while (it.hasNext())
{
Element child = (Element) it.next();
if (parentNodeName.equalsIgnoreCase(child.getName()))
{
Iterator itr = child.elementIterator();
while (itr.hasNext())
{
Element cd = (Element) itr.next();
if (childNodeName.equalsIgnoreCase(cd.getName()))
{
rslt = Integer.parseInt(cd.getText());
break;
}
}
break;
}
}
return rslt;
}

/**
* @param parentNodeName
* @param childNodeName
* @return
*/
public double readDouble(String parentNodeName, String childNodeName)
{
double rslt = 0;
Element root = document.getRootElement();
Iterator it = root.elementIterator();
while (it.hasNext())
{
Element child = (Element) it.next();
if (parentNodeName.equalsIgnoreCase(child.getName()))
{
Iterator itr = child.elementIterator();
while (itr.hasNext())
{
Element cd = (Element) itr.next();
if (childNodeName.equalsIgnoreCase(cd.getName()))
{
rslt = Double.parseDouble(cd.getText());
break;
}
}
break;
}
}
return rslt;
}

public static void main(String[] args)
{
// Config config = Config.getInstance();
// String localIp = config.readString(Const.COMMUNICATION, Const.SERVER_IP);
// int listenPort = config.readInt(Const.COMMUNICATION, Const.LISTEN_PORT);
// int retrieveInterval = config
// .readInt(Const.BUSINESS, Const.RETRIEVE_INTERVAL);
//
// System.out.println(Integer.toHexString(retrieveInterval));
}
}


//配置文件

<?xml version="1.0" encoding="UTF-8"?>
<System>
<Communication>
<SvrIp>172.16.1.119</SvrIp>
<SvrLstnPort>6300</SvrLstnPort>
<ThreadQuantity>250</ThreadQuantity>
</Communication>
<Resource>
<!--MAX QUEUE TASK QUANTITY FOR COMMLAYER RESOURCE,DEFAULT 100000 -->
<QueueMaxTaskQuantity4CommLayer>100000</QueueMaxTaskQuantity4CommLayer>
</Resource>
<Business>
<!--unit:second -->
<OffLineOfNotConnectedTime>600</OffLineOfNotConnectedTime>
<WeakSignalOfNotConnectedTime>300</WeakSignalOfNotConnectedTime>
</Business>
<Timer>
<SortOutDataClock>03:00:00</SortOutDataClock>
</Timer>
</System>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值