mtreceiver.java

来自「中国联通短信通信协议」· Java 代码 · 共 80 行

JAVA
80
字号
package com.wireless.sms.gwif.smsagent.workthread;

import java.util.*;
import org.apache.log4j.*;

import com.wireless.sms.pub.entity.*;
import com.wireless.sms.pub.mq.*;
import com.wireless.gwif.socketconn.*;

import com.wireless.sms.gwif.smsagent.global.*;
import org.apache.log4j.xml.DOMConfigurator;

public class MtReceiver {

    protected static MTQueue mtqueue = GetMoMtGlobalForUsual.mtqueue;
    private static Logger log = LoggerConstant.mtxml_log;
    private static Vector vora = new Vector();
    private static boolean startFlag = false;

    public static void start(String[] ports) {
        if( startFlag )
            return;
        else
            startFlag = true;

        for(int i=0; i<ports.length; i++){
            ObjectReceAdapter ora = new ObjectReceAdapter();
            ObjectReceAdapter.Templet receive = ora.new Templet() {
                public void receive(Object object) {
                    MT tmpMT = (MT)object;
                    mtqueue.add(tmpMT.getMsgLevel(), tmpMT);
                    log.info(tmpMT.toString());
                }

                /**
                 * processException
                 * @param cause Throwable
                 */
                public void processException(Throwable cause) {
                    log.error("Exception : ", cause);

                    if (cause instanceof java.io.IOException || cause instanceof java.lang.IllegalStateException) {
                        SmsGWIFGlobal.sendMonitor("R000101");
                    }
                }
            };

            receive.setLog(log);
            ora.start(receive, ports[i]);
            vora.add(ora);
        }
    }

    public static void stop(){
        for(int i=0; i<vora.size(); i++){
            ObjectReceAdapter tmpora = (ObjectReceAdapter)vora.elementAt(i);
            if (startFlag && tmpora != null) {
                tmpora.stop();
            }
        }

        startFlag = false;
    }

    public static void main(String args[]){
        DOMConfigurator.configure(System.getProperty("log4j"));

        try {
            SmsGWIFGlobal agent = SmsGWIFGlobal.getInstance();
            agent.initYD_System();
        } catch (Throwable ex) {
            ex.printStackTrace();
        }

        MtReceiver.start(new String[]{"9000"});
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?