📄 smsgwif.java
字号:
package com.wireless.sms.gwif;
/**
* <p>Title: WVAS-PLATFORM-SMS</p>
* <p>Description: 无线增值业务平台-----短信接口机</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: moon</p>
* @author
* @version 1.0
*/
//import org.apache.log4j.Logger;
//import org.apache.log4j.xml.DOMConfigurator;
//import org.apache.commons.configuration.Configuration;
//
//import java.util.*;
import com.wireless.sms.gwif.smsagent.entity.CM;
import com.wireless.sms.gwif.smsagent.entity.CN;
import com.wireless.sms.gwif.smsagent.entity.CT;
import com.wireless.sms.gwif.smsagent.entity.TSP;
import com.wireless.sms.gwif.smsagent.entity.UN;
import com.wireless.sms.gwif.smsagent.global.GetMoMtGlobalForUsual;
import com.wireless.sms.gwif.smsagent.global.LoggerConstant;
import com.wireless.sms.gwif.smsagent.global.SmsGWIFGlobal;
import com.wireless.sms.gwif.smsagent.workthread.ControlwindowProcessThread;
import com.wireless.sms.gwif.smsagent.workthread.DoOverflowThread;
import com.wireless.sms.gwif.smsagent.workthread.MODeQueue;
import com.wireless.sms.gwif.smsagent.workthread.NightSaver;
import com.wireless.sms.gwif.smsagent.workthread.ObjectDbSender;
import com.wireless.sms.gwif.smsagent.workthread.SendMonitor;
import com.wireless.sms.pub.net.MTServerSocket;
import com.wireless.sms.unsoap.global.Constant;
public class SmsGWIF {
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";
public void start() {
System.out.println("SmsGWIF.start()");
// 单态 引入
SmsGWIFGlobal smsagent = SmsGWIFGlobal.getInstance();
GetMoMtGlobalForUsual momtGlobal = GetMoMtGlobalForUsual.getInstance();
// 运营商类型 (cm un ct cn sc )
String type = Constant.optype;
if (type.equalsIgnoreCase(_CM)) {
smsagent.initYD_System();
CM.getInstance();
} else if (type.equalsIgnoreCase(_UN)) {
System.out.println("SmsGWIF.start().UN");
smsagent.initUN_System();
UN.getInstance();
} else if (type.equalsIgnoreCase(_CN)) {
smsagent.initCN_System();
CN.getInstance();
} else if (type.equalsIgnoreCase(_CT)) {
smsagent.initCT_System();
CT.getInstance();
} else if (type.equalsIgnoreCase(_TSP)) {
smsagent.initTSP_System();
TSP.getInstance();
} else if (type.equalsIgnoreCase(_SC)) {
smsagent.initSC_System();
System.out.println("--- 未对短信中心类型进行处理,请核实具体类型或修改程序 ... ---");
return;
} else {
System.out.println("--- 未知类型,请核实具体类型 ... ---");
}
// MT 接收服务端
for (int i = 0; i < smsagent.MT_PORT.size(); i++) {
MTServerSocket mtServerSocket = new MTServerSocket(
SmsGWIFGlobal.MT_CLIENT_IP, Integer
.parseInt((String) smsagent.MT_PORT.get(i)),
momtGlobal, LoggerConstant.mtxml_log);
SmsGWIFGlobal.MTserverSocketVec.add(mtServerSocket);
startThread(mtServerSocket);
}
// 启动 MO 发送线程
MODeQueue.getInstance().start();
// 处理数据溢出线程
DoOverflowThread.getInstance().start();
// 滑动窗口线程
ControlwindowProcessThread.getInstance().start();
// 入库线程
// ObjectDbSender.start(smsagent.OBJOUT_IP, smsagent.OBJOUT_PORT);
ObjectDbSender
.start(SmsGWIFGlobal.OBJOUT_IP, SmsGWIFGlobal.OBJOUT_PORT);
// 连接控制线程
// ClientController.start();
// 发送监控线程
SendMonitor.getInstance().start();
// 夜间服务
NightSaver.getInstance().start();
LoggerConstant.mo_log.info("系统启动成功 ...");
// 启动通知
SmsGWIFGlobal.sendMonitor("I000010");
}
/** 启动继承与Thread的线程 */
public void startThread(Thread thread) {
thread.setDaemon(true);
thread.start();
}
/** 启动继承于Runnable的线程 */
public void startThread(Runnable runnable) {
Thread thread = new Thread(runnable);
thread.setDaemon(true);
thread.start();
}
public static void main(String[] args) {
System.out.println("------------begin to start!");
SmsGWIF smsGWIF = new SmsGWIF();
Runtime.getRuntime().addShutdownHook(new Thread(new StopSignal()));
smsGWIF.start();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -