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

📄 xmlrouter.java~88~

📁 短信网关发送接受平台。
💻 JAVA~88~
字号:
import java.io.*;
import java.net.*;
import Services.*;

/**
 * <p>Title: InHand SMS platform XMLRouter</p>
 * <p>Description: InHand 短信服务平台服务路由器</p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: 北京映翰通网络技术有限公司</p>
 * @author 韩传俊 shock2000@21cn.com
 * @version 1.0
 */

public class XMLRouter {
        boolean isRunning=false;
        RecvManager recv=null;
        SendManager send=null;
        Socket socket=null;
        public XMLRouter() {
        }

        public boolean connectXMLCenter(){
                try{
                        System.out.println("try to connect XMLCenter ...");
                        socket=new Socket(Config.server_host,Config.server_port);
                        socket.setSoTimeout(10000);
                        socket.setSendBufferSize(9192);
                        socket.setReceiveBufferSize(9192);
                        recv=new RecvManager(socket.getInputStream());
                        send=new SendManager(socket.getOutputStream());
                        send.startup();
                        recv.startup();

                        return true;
                }catch(Exception e){
                       //e.printStackTrace();
                       System.out.println("fail to connect to the XMLRouter!");
                       Config.log.log(e,"while connect to the XMLRouter!");
                }
                return false;

        }


        public static void main(String[] args) {
                XMLRouter router=new XMLRouter();
                ServiceInfo serviceInfo=null;
                router.isRunning=true;
                try{
                        Config.getConfig();

                        while(!router.connectXMLCenter()){
                                System.out.println("Connect to XMLCenter("+Config.server_host+":"+Config.server_port+"),wait for a moment to retry!");
                                Thread.sleep(5000);
                        }
                        System.out.println("connect to XMLCenter("+Config.server_host+":"+Config.server_port+") success!");
                        Config.log.log("connect to XMLCenter("+Config.server_host+":"+Config.server_port+") success!");
                        ServiceServer service=new ServiceServer();
                        service.startup();
                        ProcessServiceID processServiceID=new ProcessServiceID();
                        processServiceID.startup();
                        ProcessSubcode processSubcode=new ProcessSubcode();
                        processSubcode.startup();
                        ProcessSMS processMO=new ProcessSMS();
                        processMO.startup();
                        //ProcessSMS processMO2=new ProcessSMS();
                        //processMO2.startup();
                        //ProcessServiceID processServiceID1=new ProcessServiceID();
                        //processServiceID1.startup();
                        //ProcessSubcode processSubcode1=new ProcessSubcode();
                        //processSubcode1.startup();

                        ThreadManager manager=new ThreadManager(router);
                        manager.startup();
                        while(router.isRunning){
                                Thread.sleep(5000);
                                //System.out.println("dfasdfasdasdfsd");
                                if (!router.recv.isRunning() || !router.send.isRunning()){
                                        router.recv.shutdown();
                                        router.send.shutdown();
                                        router.recv=null;
                                        router.send=null;
                                        router.close();
                                        System.out.println("the connect to xmlcenter is abnormal,try to reconnect ...");
                                        if(!router.connectXMLCenter()){
                                                System.out.println("connect to XMLCenter("+Config.server_host+":"+Config.server_port+"),wait for a moment to retry!");
                                        }else{
                                                System.out.println("connect to XMLCenter("+Config.server_host+":"+Config.server_port+") success!");
                                                Config.log.log("connect to XMLCenter("+Config.server_host+":"+Config.server_port+") success!");
                                        }
                                }
                                if(!processServiceID.isRunning() || !processServiceID.isAlive()){
                                        Config.log.log("Thread processServiceID is not running("+processServiceID.isRunning()+"),try to restrart!");

                                        try{
                                                processServiceID.shutdown();
                                                processServiceID.join(1000);
                                                Thread.sleep(1500);
                                        }catch(Exception e){
                                                Config.log.log(e,"in main()");
                                        }
                                        processServiceID.startup();
                                }

                                if(!processSubcode.isRunning() || !processSubcode.isAlive()){
                                        Config.log.log("Thread processSubcode is not running("+processSubcode.isRunning()+"),try to restrart!");

                                        try{
                                                processSubcode.shutdown();
                                                processSubcode.join(1000);
                                                Thread.sleep(1500);
                                        }catch(Exception e){
                                                Config.log.log(e,"in main()");
                                        }
                                        processSubcode.startup();
                                }

                                if(!processMO.isRunning() || !processMO.isAlive()){
                                        Config.log.log("Thread processMO is not running("+processMO.isRunning()+"),try to restrart!");

                                        try{
                                                processMO.shutdown();
                                                processMO.join(1000);
                                                Thread.sleep(1500);
                                        }catch(Exception e){
                                                Config.log.log(e,"in main()");
                                        }
                                        processMO.startup();
                                }

                                if(!service.isRunning() || !service.isAlive()){
                                        Config.log.log("Thread service is not running("+service.isRunning()+"),try to restrart!");

                                        try{
                                                service.shutdown();
                                                service.join(1000);
                                                Thread.sleep(1500);
                                        }catch(Exception e){
                                                Config.log.log(e,"in main()");
                                        }
                                        service.startup();
                                }
                                        //for(int i=0;i<Config.subcode_item.size();i++){
                                        //        serviceInfo=(ServiceInfo)Config.subcode_item.elementAt(i);
                                        //        if (serviceInfo.m_socket==null){
                                        //
                                        //}
                                        //for(int i=0;i<Config.service_id_item.size();i++){
                                        //        serviceInfo=(ServiceInfo)Config.service_id_item.elementAt(i);
                                        //        //if (){
                                        //        //}
                                        //}
                        }
                        router.recv.shutdown();

                        router.send.shutdown();
                        processMO.shutdown();
                        //processMO2.shutdown();

                        processSubcode.shutdown();
                        processServiceID.shutdown();
                       // processSubcode1.shutdown();
                        //processServiceID1.shutdown();
                        service.shutdown();
                        Thread.sleep(3000);
                        router.close();
                        System.out.println("System quit ...");
                        Config.log.log("System quit ...");
                        Config.releaseConfig();
                }catch(Exception e){
                        e.printStackTrace();
                        System.exit(0);
                }
        }
        public void close(){
                if (this.socket != null){
                        try{
                                this.socket.close();
                        }catch(Exception e){
                        }
                }
                this.socket=null;
        }

}

⌨️ 快捷键说明

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