?? inithandler.java
字號:
package com.wireless.sms.ismp;
import org.apache.axis.AxisFault;
import org.apache.axis.MessageContext;
import org.apache.axis.handlers.BasicHandler;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.DOM4JConfiguration;
import com.wireless.sms.ismp.global.DBPool;
import com.wireless.sms.ismp.global.LoggerConstant;
import com.wireless.sms.ismp.global.SendThread;
import com.wireless.sms.pub.db.ConnectionPool;
import com.wireless.sms.pub.mq.MOQueue;
public class InitHandler extends BasicHandler {
static final long serialVersionUID = 1L;
private static boolean hasInitFlag = false;
public static Configuration configuration = null;
public static MOQueue MOQUEUE = new MOQueue();
public static String[] ROUTERHOST;
public static String[] ROUTERPORTS;
public static String PROCESSHOST;
public static String[] MONITORHOST;
public static String[] MONITORPORT;
public static String switch_name;
public static String DBFILEPATH;
public static String GATEWAYID;
public void invoke(MessageContext msgContext) throws AxisFault {
initSystemOnce(msgContext);
}
private void initSystemOnce(MessageContext msgContext) {
if(hasInitFlag)
return;
System.out.println("initSystem for the first time......");
String config_fileName = (String)this.getOption("config");
String log4j_fileName = (String)this.getOption("log4j");
String path = (String)this.getOption("path");
System.out.println("config_fileName = " + config_fileName + "\n" +
"log4j_fileName = " + log4j_fileName + "\n" +
"path = " + path);
if(config_fileName == null || log4j_fileName == null)
throw new Error("配置文件沒有找到參數config或者log4j",
new Throwable("配置參數config或者log4j在server-config.wsdd文件對應的服務中沒有設置,檢查此項!"));
java.io.File config_file;
java.io.File log4j_file;
//config_file
if(config_fileName.startsWith(path))
config_file = new java.io.File(config_fileName);
else
config_file = new java.io.File(path + config_fileName);
//log4j_file
if(log4j_fileName.startsWith(path))
log4j_file = new java.io.File(log4j_fileName);
else
log4j_file = new java.io.File(path + log4j_fileName);
//confirm
if(!config_file.exists() || !log4j_file.exists()) {
hasInitFlag = false;
throw new Error("配置文件config=" + config_file +
"或者log4j=" + log4j_file +
"沒有找到",
new Throwable("配置文件config或者log4j在服務中配置的路徑下沒有找到該文件,檢查此項!"));
}
//初始化log4j配置
try {
LoggerConstant.init(log4j_file.getPath().replaceAll("\\\\", "/"));
// LoggerConstant.stat_log.info("initSystem for the first time......");
} catch (Exception e) {
e.printStackTrace();
}
//初始化全局配置文件config.xml
try {
configuration = new DOM4JConfiguration(config_file);
ROUTERHOST = configuration.getStringArray("routerservers.routerserver");
ROUTERPORTS = configuration.getStringArray("routerservers.routerserver[@port]");
MONITORHOST = configuration.getStringArray("monitorserver.monitor");
MONITORPORT = configuration.getStringArray("monitorserver.monitor[@port]");
PROCESSHOST = configuration.getString("processhost");
switch_name = configuration.getString("switch_name");
DBFILEPATH = configuration.getString("dbfilepath");
GATEWAYID = configuration.getString("gatewayid");
//初始化數據庫
if(DBFILEPATH.replaceAll("\\\\", "/").startsWith(path.replaceAll("\\\\", "/")))
DBPool.POOL = ConnectionPool.getInstance(DBFILEPATH.replaceAll("\\\\", "/"));
else
DBPool.POOL = ConnectionPool.getInstance((path + DBFILEPATH).replaceAll("\\\\", "/"));
//啟動mo發送
SendThread.getInstance().start();
//發送啟動通知
SendThread.getInstance().sendmonitor("I000010");
} catch (Exception e) {
e.printStackTrace();
}
hasInitFlag = true;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -