⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smsgwif.java

📁 中国联通短信通信协议
💻 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 + -