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

📄 crbtgwif.java

📁 中国联通炫铃业务接口开发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -