package ALBasicClient;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import ALBasicCommon.ALConfReader;
/******************
* 基本的Java客户端配置对象
*
* @author alzq.z
* @email zhuangfan@vip.163.com
* @time Feb 19, 2013 9:34:31 PM
*/
public class ALBasicClientConf
{
private static ALBasicClientConf g_instance;
public static ALBasicClientConf getInstance()
{
if(null == g_instance)
g_instance = new ALBasicClientConf();
return g_instance;
}
/** Socket消息发送的线程数量 */
private int _m_iSendThreadNum;
/** 端口接收BUF缓冲区长度 */
private int _m_iRecBufferLen;
public ALBasicClientConf()
{
_m_iSendThreadNum = 1;
_m_iRecBufferLen = 131072;
}
public int getSendThreadNum() {return _m_iSendThreadNum;}
public int getRecBufferLen() {return _m_iRecBufferLen;}
/*******************
* 初始化属性设置对象
* @param _properties
*/
public boolean init()
{
Properties properties = new Properties();
InputStream propertiesInputStream = null;
try
{
propertiesInputStream = new FileInputStream("./conf/ALBasicClientConf.properties");
}
catch (IOException e)
{
e.printStackTrace();
}
if(null == propertiesInputStream)
{
return false;
}
//输入有效则开始读取对应配置
try
{
properties.load(propertiesInputStream);
}
catch (IOException e)
{
e.printStackTrace();
}
try
{
System.out.println("[Conf init] Start load ALBasicClient Properties ... ...");
//获取消息发送线程的数量
_m_iSendThreadNum
= ALConfReader.readInt(properties, "ALBasicClient.SendThreadNum", _m_iRecBufferLen);
//获取缓冲区长度
_m_iRecBufferLen
= ALConfReader.readInt(properties, "ALBasicClient.RecSocketBufLen", _m_iRecBufferLen);
System.out.println("[Conf init] Finish load ALBasicClient Properties ... ...");
}
catch (Exception e)
{
System.out.println("[Conf Init Error] Load ALBasicClient Properties Error!!");
e.printStackTrace();
}
finally
{
try
{
propertiesInputStream.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
return true;
}
}