📄 configeditor.java
字号:
/*
* Created on 2005-2-24
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.rainbow.mms.appframe;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.log4j.Logger;
/**
* 配置应用程序的系统参数系统参数,包括:配置文件的名称,访问数据库获取Deliver消息的最大时间间隔,
* 处理Deliver消息的线程池大小,该应用程序的统一业务编号,该应用程序的处理Deliver消息的业务类名称.
* 配置文件中,至少要有这些信息:
* threadNum=
* dbAccessInterval=
* uniformServiceID=
* workerClassName=
* @author Rainbow mms group leader —— TrWorks
*/
class ConfigEditor {
private Logger log = Logger.getLogger(ConfigEditor.class);
private int threadNum = 4;
private int dbAccessInterval = 1000*3;
private int uniformServiceID = 0;
private String workerClassName = "";
protected static ConfigEditor INSTANCE = new ConfigEditor();
/**
* 获得配置处理类ConfigEditor的实例
* @return 配置处理类ConfigEditor的实例
*/
public static ConfigEditor getInstance(){
return INSTANCE;
}
private ConfigEditor(){
}
/**
* 获得 访问数据库获取Deliver消息的最大时间间隔
* @return 访问数据库获取Deliver消息的最大时间间隔
*/
public int getDbAccessInterval() {
return dbAccessInterval;
}
/**
* 设置 处理Deliver消息的线程池大小
* @return 处理Deliver消息的线程池大小
*/
public int getThreadNum() {
return threadNum;
}
/**
* 获得 该应用程序的统一业务编号
* @return 该应用程序的统一业务编号
*/
public int getUniformServiceID() {
return uniformServiceID;
}
/**
* 获得 该应用程序的处理Deliver消息的业务类名称
* @return 该应用程序的处理Deliver消息的业务类名称
*/
public String getWorkerClassName() {
return workerClassName;
}
/**
* 加载配置文件,将发送型网关的配置读出
*
* @param fileName
* 配置文件名称
* @return boolean 是否配置成功
*/
public boolean loadConfig(String fileName) {
Properties pro = new Properties();
InputStream in = null;
try {
in = new FileInputStream(fileName);
pro.load(in);
log.info("加载配置文件[" + fileName + "]");
} catch (Exception e) {
log.error("加载配置文件[" + fileName + "]失败", e);
return false;
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) {
return false;
}
}
}
// 读取 threadNum
String tmpString = pro.getProperty("threadNum");
if (tmpString.length() <= 0) {
log.error("threadNum 配置错误!");
return false;
}
threadNum = Integer.parseInt(tmpString);
// 读取 dbAccessInterval
tmpString = pro.getProperty("dbAccessInterval");
if (tmpString.length() <= 0) {
log.error("dbAccessInterval 配置错误!");
return false;
}
dbAccessInterval = Integer.parseInt(tmpString);
// 业务的统一业务编号
tmpString = pro.getProperty("uniformServiceID");
if (tmpString.length() <= 0) {
log.error("uniformServiceID 配置错误!");
return false;
}
uniformServiceID = Integer.parseInt(tmpString);
// 工作者线程子类的名称
tmpString = pro.getProperty("workerClassName");
if (tmpString.length() <= 0) {
log.error("workerClassName 配置错误!");
return false;
}
workerClassName = tmpString;
return true;
}
/*
public static void main(String[] args) {
}
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -