📄 crbtgwif.java
字号:
package com.wireless.crbt.gwif;
import com.wireless.crbt.gwif.function.CrbtScanDB;
import com.wireless.crbt.gwif.global.CrbtGWIFGlobal;
import com.wireless.crbt.gwif.global.GetCRBTGlobalForUsual;
import com.wireless.crbt.gwif.global.LoggerConstant;
import com.wireless.crbt.gwif.global.pub.CRBTServerSocket;
import com.wireless.crbt.gwif.netty2.ClientDefaultCrbtConnTemplet;
import com.wireless.crbt.gwif.netty2.CrbtByteMessageRecognizer;
import com.wireless.crbt.gwif.netty2.CrbtClient;
import com.wireless.crbt.gwif.netty2.CrbtTestClient;
import com.wireless.crbt.gwif.workthread.CrbtClientController;
import com.wireless.crbt.gwif.workthread.CrbtSendMonitor;
import com.wireless.crbt.gwif.workthread.ReloadServer;
import com.wireless.gwif.socketconn.ConnManageInterface;
/**
* CRBT接口机主入口类,接口机进程从这里启动。
* @author Administrator
*
*/
public class CrbtGwif {
private static final String _CM = "cm"; //移动
private static final String _UN = "un"; //联通
private static final String _CN = "cn"; //网通
private static final String _CT = "ct"; //电信
private static final String _SC = "sc"; //短信中心
private static final String _TSP= "tsp";
/**
* 启动CRBT接口机,该过程将分别启动所有的功能线程。
*
*/
public void start(){
if (System.getProperty("config_file") == null && System.getProperty("type") == null) {
Usage();
return;
} else {
//单态 引入
CrbtGWIFGlobal smsagent = CrbtGWIFGlobal.getInstance();
//运营商类型 (cm un ct cn sc )
String type = System.getProperty("type");
//是否为测试状态 y 是 n 否
String TestFlag = System.getProperty("test");
//启动程序版本
String versiontFlag = System.getProperty("version");
String processClassName = "";
String serverIP = "", localIP = "";
int serverPort = 0, serverMtPort = 0, localPort = 0;
int ThreadNum = 0;
int spanSend = 0, controlSize = 0, flowControl = 0;
if (TestFlag.equalsIgnoreCase("y")) {
CrbtTestClient test = new CrbtTestClient();//测试模式
CrbtGWIFGlobal.vManage.add(test);
if(type.equalsIgnoreCase(_CM)){
smsagent.initYD_System();
}else if(type.equalsIgnoreCase(_UN)){
smsagent.initUN_System();
}else if(type.equalsIgnoreCase(_CN)){
smsagent.initCN_System();
}else if(type.equalsIgnoreCase(_CT)){
smsagent.initCT_System();
}else if(type.equalsIgnoreCase(_SC)){
smsagent.initSC_System();
}else if(type.equalsIgnoreCase(_TSP)){
smsagent.initTSP_System();
}
} else if (type.equalsIgnoreCase(_CM)) {
smsagent.initYD_System();
serverIP = CrbtGWIFGlobal.ServerIP;
serverPort = CrbtGWIFGlobal.ServerPort;
localIP = CrbtGWIFGlobal.LocalIP;
localPort = CrbtGWIFGlobal.LocalPort;
spanSend = CrbtGWIFGlobal.SpanSend;
controlSize = CrbtGWIFGlobal.ControlSize;
flowControl = CrbtGWIFGlobal.flowControl;
processClassName = CrbtGWIFGlobal.ProcessClassName;
ThreadNum = CrbtGWIFGlobal.ThreadNum;
printCommon();
for (int i = 0; i < ThreadNum; i++) {
this.addClient(serverIP, serverPort, localIP, localPort,
spanSend, controlSize, flowControl, processClassName);
}
} else if (type.equalsIgnoreCase(_UN)) {
smsagent.initUN_System();
serverIP = CrbtGWIFGlobal.ServerIP;
serverPort = CrbtGWIFGlobal.ServerPort;
localIP = CrbtGWIFGlobal.LocalIP;
localPort = CrbtGWIFGlobal.LocalPort;
spanSend = CrbtGWIFGlobal.SpanSend;
controlSize = CrbtGWIFGlobal.ControlSize;
flowControl = CrbtGWIFGlobal.flowControl;
processClassName = CrbtGWIFGlobal.ProcessClassName;
ThreadNum = CrbtGWIFGlobal.ThreadNum;
printCommon();
for (int i = 0; i < ThreadNum; i++) {
this.addClient(serverIP, serverPort, localIP, localPort,
spanSend, controlSize, flowControl, processClassName);
}
} else if (type.equalsIgnoreCase(_CN)) {
smsagent.initCN_System();
serverIP = CrbtGWIFGlobal.ServerIP;
serverPort = CrbtGWIFGlobal.ServerPort;
localIP = CrbtGWIFGlobal.LocalIP;
localPort = CrbtGWIFGlobal.LocalPort;
spanSend = CrbtGWIFGlobal.SpanSend;
controlSize = CrbtGWIFGlobal.ControlSize;
flowControl = CrbtGWIFGlobal.flowControl;
processClassName = CrbtGWIFGlobal.ProcessClassName;
ThreadNum = CrbtGWIFGlobal.ThreadNum;
printCommon();
for (int i = 0; i < ThreadNum; i++) {
this.addClient(serverIP, serverMtPort, localIP, localPort,
spanSend, controlSize, flowControl, processClassName);
}
} else if (type.equalsIgnoreCase(_CT)) {
smsagent.initCT_System();
serverIP = CrbtGWIFGlobal.ServerIP;
serverPort = CrbtGWIFGlobal.ServerPort;
localIP = CrbtGWIFGlobal.LocalIP;
localPort = CrbtGWIFGlobal.LocalPort;
spanSend = CrbtGWIFGlobal.SpanSend;
controlSize = CrbtGWIFGlobal.ControlSize;
flowControl = CrbtGWIFGlobal.flowControl;
processClassName = CrbtGWIFGlobal.ProcessClassName;
ThreadNum = CrbtGWIFGlobal.ThreadNum;
printCommon();
for (int i = 0; i < ThreadNum; i++) {
this.addClient(serverIP, serverPort, localIP, localPort,
spanSend, controlSize, flowControl, processClassName);
}
} else if (type.equalsIgnoreCase(_TSP)) {
smsagent.initTSP_System();
serverIP = CrbtGWIFGlobal.ServerIP;
serverPort = CrbtGWIFGlobal.ServerPort;
localIP = CrbtGWIFGlobal.LocalIP;
localPort = CrbtGWIFGlobal.LocalPort;
spanSend = CrbtGWIFGlobal.SpanSend;
controlSize = CrbtGWIFGlobal.ControlSize;
flowControl = CrbtGWIFGlobal.flowControl;
processClassName = CrbtGWIFGlobal.ProcessClassName;
ThreadNum = CrbtGWIFGlobal.ThreadNum;
printCommon();
this.addClient(serverIP, serverMtPort, localIP, localPort,
spanSend, controlSize, flowControl, processClassName);
} else if (type.equalsIgnoreCase(_SC)) {
smsagent.initSC_System();
System.out.println("--- 未对短信中心类型进行处理,请核实具体类型或修改程序 ... ---");
return;
} else {
System.out.println("--- 未知类型,请核实具体类型 ... ---");
System.out.println("\nversiontFlag :"+versiontFlag);
}
//启动与运营商连接
for (int i = 0; i < CrbtGWIFGlobal.vManage.size(); i++) {
ConnManageInterface mi = (ConnManageInterface)CrbtGWIFGlobal.vManage.elementAt(i);
mi.start();
}
//从其他机器接收CRBT
GetCRBTGlobalForUsual crbtGlobal = GetCRBTGlobalForUsual.getInstance();
for (int i = 0; i < CrbtGWIFGlobal.CRBT_PORT.size(); i++) {
CRBTServerSocket mtServerSocket = new CRBTServerSocket(CrbtGWIFGlobal.CRBT_CLIENT_IP,
Integer.parseInt((String)CrbtGWIFGlobal.CRBT_PORT.get(i)),
crbtGlobal,
LoggerConstant.xml_log);
CrbtGWIFGlobal.MTserverSocketVec.add(mtServerSocket);
startThread(mtServerSocket);
}
//启动扫描数据库线程
CrbtScanDB.start();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -