亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmppmaster.java

?? 對于cmpp3.0 開發有一定的幫助,請大家下載下來進行研究.
?? JAVA
字號:
package com.zhanghao.cmpp;
/**
 * <p>Title: CMPPMaster</p>
 * <p>Description: 湖南移動短信網關通訊程序
 * CMPPMaster是網關通訊程序的主線程,通過她初始化CMPP通訊的參數,啟動并維護收發線程</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: sunun tech ltd.</p>
 * @author zhanghao
 * @version 1.0
 */

import java.io.InputStream;
import java.io.FileInputStream;
import java.util.Properties;

import com.zhanghao.common.util.*;
import com.zhanghao.common.database.*;


import com.zhanghao.provision.*;

public class CMPPMaster extends Thread{

  private String configProperty ="";

  /** 雙連接 MT連接 **/
  private CMPPMTSocketProcess MTSocketProcess;

  private CMPPMTSendThread MTSendThread;

  private CMPPMTReceiveThread MTReceiveThread;

  /** 雙連接的MO連接或單連接的Socket連接 **/
  private CMPPMOSocketProcess MOSocketProcess;

  private CMPPMOSendThread MOSendThread;

  private CMPPMOReceiveThread MOReceiveThread;

  private HttpServices httpServices;

  private boolean isRun = false;

  public CMPPMaster() {

    //加載配置參數
    loadInitCfg();

    //設置日志路徑
    LogUtil.setLogPath(CMPParameter.LogFilePath);

    //初始化連接池
    initConnectionPool();


  }


  public boolean startHttpService(){
    try{
      new HttpServices().start();
      return true;
    }
    catch (Exception ex) {
      return false;
    }
  }

  public void run(){

    while(true){

      //判斷數據庫是否連接
      CMPPDBAccess.getInstance();

      //當數據庫連接失效時候,需斷開所有的Socket連接,以防止數據丟失

      //單連接時候
      if(CMPParameter.ISMGType == 2){
        maintenanceMOProcess();
      }
      //雙連接時候
      else{
        maintenanceMOProcess();
        maintenanceMTProcess();
      }

      PublicFunction.sleep(3000);
    }
  }



  /**初始化連接池 **/
  public boolean initConnectionPool(){
    //初始化數據庫連接池:
    try{
      ConnectionPool.initConnectionPool(
          CMPParameter.DBDriver,
          CMPParameter.Connect_URL,
          CMPParameter.DBUser,
          CMPParameter.DBPass,
          CMPParameter.DBPoolSize,
          20
          );
      Debug.outInfo("[CMPPMaster]"+PublicFunction.getFormatTime()+" 初始化數據庫連接池成功,大小"+CMPParameter.DBPoolSize+",超時間隔20秒");
      return true;
    }catch(Exception e){
      Debug.outInfo("[CMPPMaster]"+PublicFunction.getFormatTime()+" 初始化數據庫連接池失敗 "  +e.toString());
      return false;
    }

  }

  /** 維護MT線程組**/
  public void maintenanceMTProcess(){
    MTSocketProcess = CMPPMTSocketProcess.getInstance();
    if(!MTSocketProcess.isAvail){
      //MOSocketProcess連接無效時,停止MO連接的收發線程
      if (MTReceiveThread != null) {
        MTReceiveThread.isAvail = false;
      }
      if (MTSendThread != null) {
        MTSendThread.isAvail = false;
      }
      //等待1秒
      PublicFunction.sleep(1000);

      try {
        MTSocketProcess.connectSMSG();
        if (MTSocketProcess.isAvail) {
          MTReceiveThread = new CMPPMTReceiveThread();
          MTReceiveThread.start();

          MTSendThread = new CMPPMTSendThread();
          MTSendThread.start();
        }
      }
      catch (Exception ex) {
        Debug.outError(ex);
      }
    }
  }


  /** 維護MO線程組**/
  public void maintenanceMOProcess(){
    MOSocketProcess = CMPPMOSocketProcess.getInstance();
    if(!MOSocketProcess.isAvail){
      //MOSocketProcess連接無效時,停止MO連接的收發線程
      if(MOReceiveThread != null){
        MOReceiveThread.isAvail = false;
      }
      if(MOSendThread != null){
        MOSendThread.isAvail = false;
      }

      //等待1秒
      PublicFunction.sleep(1000);

      try{
        MOSocketProcess.connectSMSG();
        if(MOSocketProcess.isAvail){
          MOReceiveThread = new CMPPMOReceiveThread();
          MOReceiveThread.start();

          MOSendThread = new CMPPMOSendThread();
          MOSendThread.start();
        }
      }
      catch(Exception ex){
        Debug.outError(ex);
      }
    }
  }

  /**
   * 讀取配置文件
   */
  public void loadInitCfg(){
    String cfgFile = "";
    try{
      cfgFile = System.getProperties().getProperty(configProperty);
      cfgFile = cfgFile == null ? "Cmpp.cfg":cfgFile;
      Debug.outDebug("Config file path:"+cfgFile);
      InputStream is = new FileInputStream(cfgFile) ;
      Properties pt = new Properties() ;
      pt.load(is) ;

      /** 更改SOCKET通訊配置參數 **/
      CMPParameter.ServerIp = pt.getProperty("ServerIP", "127.0.0.1");
      System.out.println("ServerIp: \t" + CMPParameter.ServerIp);

      CMPParameter.MTServerPort = Integer.parseInt(pt.getProperty("MTServerPort", "1020"));
      System.out.println("MTServerPort: \t" + CMPParameter.MTServerPort);
      CMPParameter.MOServerPort = Integer.parseInt(pt.getProperty("MOServerPort", "1020"));
      System.out.println("MOServerPort: \t" + CMPParameter.MOServerPort);

      CMPParameter.SP_Id = pt.getProperty("Gateway_ID", "181");
      System.out.println("Gateway_ID: \t" + CMPParameter.Gateway_ID);

      CMPParameter.SP_Id = pt.getProperty("SP_Id", "901234");
      System.out.println("SP_Id: \t" + CMPParameter.SP_Id);

      CMPParameter.SP_Pwd = pt.getProperty("SP_Pwd", "1234");
      System.out.println("SP_Pwd: \t" + CMPParameter.SP_Pwd);

      CMPParameter.ISMGType = Integer.parseInt(pt.getProperty("ISMGType", "2"));
      System.out.println("ISMGType: \t" + CMPParameter.ISMGType);

      CMPParameter.Version = Integer.parseInt(pt.getProperty("Version", "2")) * 16;
      System.out.println("Version: \t" + CMPParameter.Version);

      CMPParameter.ActiveTestTime = Integer.parseInt(pt.getProperty("ActiveTestTime", "30")) * 1000;
      System.out.println("ActiveTestTime: \t" + CMPParameter.ActiveTestTime);
      CMPParameter.MTSpeed = Integer.parseInt(pt.getProperty("MTSpeed", "20"));
      System.out.println("MTSpeed: \t" + CMPParameter.MTSpeed);


      /** 更改數據庫連接配置參數 **/
      CMPParameter.DBType = Integer.parseInt(pt.getProperty("DBType", "1"));
      System.out.println("DBType: \t" + CMPParameter.DBType);

      if(CMPParameter.DBType==1) CMPParameter.DBDriver ="oracle.jdbc.driver.OracleDriver";
      if(CMPParameter.DBType==2) CMPParameter.DBDriver ="com.microsoft.jdbc.sqlserver.SQLServerDriver";
      if(CMPParameter.DBType==3) CMPParameter.DBDriver ="com.sybase.jdbc.SybDriver";
      System.out.println("DBDriver: \t" + CMPParameter.DBDriver);

      CMPParameter.Connect_URL = pt.getProperty("Connect_URL", "jdbc:microsoft:sqlserver://192.168.0.44:1433;DatabaseName=stock");
      System.out.println("Connect_URL:" + CMPParameter.Connect_URL);

      CMPParameter.DBUser = pt.getProperty("DBUser", "sa");
      Debug.outDebug("DBUser: \t" + CMPParameter.DBUser);

      CMPParameter.DBPass = pt.getProperty("DBPass", "sa");
      Debug.outDebug("DBPass: \t" + "****************");

      CMPParameter.DBPoolSize = Integer.parseInt(pt.getProperty("DBPoolSize", "20"));
      System.out.println("DBPoolSize: \t" + CMPParameter.DBPoolSize);

      CMPParameter.LogFilePath = pt.getProperty("LogFilePath", "sa");
      System.out.println("LogFilePath: \t" + CMPParameter.LogFilePath);

      CMPParameter.IfDebug = Integer.parseInt(pt.getProperty("IfDebug", "0"));
      Debug.outDebug("IfDebug: \t" + CMPParameter.IfDebug);


//      CMPParameter.MTPrefixWord = new String(pt.getProperty("MTPrefixWord", "").getBytes("ISO-8859-1"),"GB2312");
    }
    catch(Exception ex){
      Debug.outDebug("[CMPP] loadInitCfg error :" +ex) ;
    }
  }


  public static void main(String args[]){

    try{
      new HttpServices().start();
      new SubscribeProcess().start();
      new CMPPMaster().start();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
    System.out.println("按任意鍵繼續.....");
    try{
       System.in.read();
    }
    catch(Exception ex){
    }

  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区欧美一区| 国产欧美日韩激情| 国产精品天干天干在观线| 亚洲成人av资源| 一本大道久久a久久综合婷婷 | 欧美国产精品一区二区| 麻豆国产精品一区二区三区| 91视频精品在这里| 亚洲精品视频在线| 色999日韩国产欧美一区二区| 中文字幕亚洲区| 福利一区二区在线| 最新高清无码专区| 欧美色图12p| 日本不卡一二三区黄网| 欧美一级午夜免费电影| 青青草97国产精品免费观看| 欧美四级电影网| 蜜桃视频在线一区| 欧美一区二区三区视频在线| 麻豆一区二区99久久久久| wwww国产精品欧美| 丁香一区二区三区| 亚洲精品日韩专区silk| 欧美日韩国产首页在线观看| 亚洲制服丝袜在线| 欧美亚一区二区| 亚洲美女精品一区| 精品国产99国产精品| 日韩av高清在线观看| 欧美剧情电影在线观看完整版免费励志电影| 亚洲主播在线观看| 中文字幕免费不卡| 欧美精品 日韩| 成人免费看的视频| 久久草av在线| 亚洲午夜久久久久久久久电影院| 日韩欧美美女一区二区三区| 国产98色在线|日韩| 亚洲成人久久影院| 久久这里只有精品视频网| 欧美三级电影一区| 91在线一区二区三区| 国内精品自线一区二区三区视频| 亚洲一区二区五区| 一区二区三区 在线观看视频| 久久精品人人做| 日韩你懂的在线观看| 欧美午夜一区二区三区免费大片| 国产jizzjizz一区二区| 亚洲成av人片在线| 亚洲国产毛片aaaaa无费看 | 欧美一区二区美女| 成人午夜在线视频| 国产伦精品一区二区三区免费| 免费成人结看片| 一区二区三区四区在线| 日韩美女久久久| 亚洲欧美日韩国产中文在线| 国产精品久久久久久户外露出 | 成人h精品动漫一区二区三区| 精品制服美女久久| 国内一区二区在线| 国产成人99久久亚洲综合精品| 国产资源在线一区| 成人av集中营| 欧美探花视频资源| 26uuu精品一区二区三区四区在线| 日韩美女一区二区三区四区| 欧美日韩国产123区| 日韩三级免费观看| 亚洲国产精品成人综合| 亚洲精品老司机| 日本成人在线网站| 成人看片黄a免费看在线| 色悠悠久久综合| 日韩精品中文字幕一区| 国产精品久久久久久久岛一牛影视 | 亚洲va欧美va人人爽| 日韩经典一区二区| 国产成人精品在线看| 欧美日韩在线播放| 国产三级一区二区| 亚洲精品第一国产综合野| 免费成人av在线| 懂色中文一区二区在线播放| 色综合久久99| 欧美国产精品中文字幕| 久久99最新地址| 欧美网站一区二区| 26uuu久久天堂性欧美| 国产亚洲污的网站| 韩国一区二区三区| 日韩一区二区三区在线| 一区二区三区久久久| 国产福利精品导航| 久久蜜桃av一区二区天堂| 婷婷久久综合九色国产成人| 看片网站欧美日韩| 欧美美女bb生活片| 亚洲第一久久影院| 欧洲精品一区二区| 亚洲乱码日产精品bd| 国产成人精品免费一区二区| 26uuu色噜噜精品一区二区| 一区二区三区在线影院| 韩国成人福利片在线播放| 精品国产乱码久久久久久夜甘婷婷| 一区二区三区不卡在线观看 | 精品国产91乱码一区二区三区 | 欧美日韩三级一区| 国产精品美女久久久久高潮| 精品无码三级在线观看视频| 欧美一级生活片| 日日欢夜夜爽一区| 欧美一区二区三区系列电影| 免费欧美日韩国产三级电影| 久久久久国产精品麻豆ai换脸| 成人国产精品免费观看视频| 国产精品激情偷乱一区二区∴| 精品在线播放午夜| 国产欧美日韩精品一区| 欧美亚洲国产一区二区三区va| 亚洲一区日韩精品中文字幕| 欧美三级视频在线| 国产一区二区伦理片| 久久久久久久一区| 色婷婷精品久久二区二区蜜臀av | 亚洲午夜视频在线观看| 678五月天丁香亚洲综合网| 韩国欧美国产一区| 天堂一区二区在线免费观看| 国产日本一区二区| 91精品国产综合久久精品图片| 三级欧美韩日大片在线看| 久久伊99综合婷婷久久伊| 91在线视频官网| 精品综合免费视频观看| 亚洲同性gay激情无套| 精品视频资源站| 国产成人av电影在线| 轻轻草成人在线| 婷婷成人激情在线网| 亚洲欧美综合色| 精品乱码亚洲一区二区不卡| 欧美在线视频全部完| 福利电影一区二区三区| 精品美女在线播放| 欧美日韩不卡在线| 欧美日韩视频在线第一区| 91久久精品国产91性色tv| av男人天堂一区| 成人精品视频一区二区三区 | 欧美日韩午夜精品| 欧美一级电影网站| 欧美一卡二卡在线观看| 欧美一区三区二区| 国产日产亚洲精品系列| 欧美国产1区2区| 日韩理论片网站| 美国毛片一区二区| 91婷婷韩国欧美一区二区| 欧美一区二区三区电影| 一区二区三区国产豹纹内裤在线| 日韩成人一级片| 成人网在线免费视频| 欧美一卡2卡3卡4卡| 亚洲日本韩国一区| 国产成人av福利| 精品久久五月天| 日韩不卡一二三区| 欧美日韩在线不卡| 亚洲精品欧美综合四区| 国产精品99久久久久久有的能看| 欧美亚洲尤物久久| 欧美国产一区在线| 日本欧美一区二区| 91国偷自产一区二区开放时间| 国产欧美日韩一区二区三区在线观看 | 狠狠色狠狠色综合| 欧美不卡123| 日本不卡不码高清免费观看| 在线精品视频一区二区| 亚洲欧美一区二区三区国产精品| 韩国成人福利片在线播放| 日韩欧美国产高清| 午夜精品123| 秋霞电影网一区二区| 欧美日韩一区二区三区四区五区 | 欧美成人精品福利| 激情综合色综合久久综合| 欧美va亚洲va国产综合| 精品一区在线看| 久久久精品tv| 国产在线不卡视频| 中文字幕精品一区二区三区精品| 国产福利不卡视频| 亚洲三级视频在线观看| 欧美无乱码久久久免费午夜一区| 天天色图综合网|