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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cmppdbaccess.java

?? cmpp的開發(fā)的短信端口實例
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
package com.zhanghao.cmpp;
/**
 * <p>Title:CMPPDBAccess</p>
 * <p>Description: 湖南移動短信網(wǎng)關(guān)通訊程序</p>
 * <p>數(shù)據(jù)庫訪問類</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: sunun tech ltd.</p>
 * @author zhanghao
 * @version 1.0
 */

import java.util.*;
import java.sql.*;

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

public class CMPPDBAccess {

  private static CMPPDBAccess DBAccess;

  public boolean isAvail = false;

  /** 上行數(shù)據(jù)緩沖,當(dāng)CMPPMOReceiveThread接受到上行數(shù)據(jù)后,將數(shù)據(jù)保存在該緩沖中,由
   *  CMPPMODataSaveThread線程將數(shù)據(jù)再保存到數(shù)據(jù)庫中 **/
  public Vector vctMOData = new Vector(1,1);

  /** 下行數(shù)據(jù)緩沖,當(dāng)CMPPDBAccess從數(shù)據(jù)庫中取出數(shù)據(jù)后,保存在該緩沖中,由
   *  單連接時的CMPPMOSendThread線程或雙連接時的CMPPMTSendThread線程將數(shù)據(jù)發(fā)送到ISMG **/
  public Vector vctMTData = new Vector(1,1);

  /** 網(wǎng)關(guān)回應(yīng)信息緩沖 **/
  public Vector vctRespMsg = new Vector(1,1);

  public String inertSql  = "";

  private CMPPMODataSaveThread moSaveThread;

  public CMPPDBAccess() {
    if(CMPParameter.DBType==1) inertSql = this.strInsertOracle;
    else inertSql = this.strInsertSqlServer;
  }


  /**取得CMPPMOSocketProcess的唯一實例 **/
  public static CMPPDBAccess getInstance(){
    if(DBAccess == null){
      DBAccess = new CMPPDBAccess();
    }
    if(!DBAccess.isAvail){
      DBAccess.connect();
    }
    else{

    }
    return DBAccess;
  }




  /**
   * 連接到數(shù)據(jù)庫
   * @return true(成功)or false(失敗)
   */
  public boolean connect(){

    Connection conn = null;
    ResultSet   rs  = null;
    try {
//      Class.forName(DBDriver);
//      conn = DriverManager.getConnection(Connect_URL, DBUser, DBPass);
      conn = ConnectionPool.getConnection();
      //從連接池取得連接并測試連接是否成功
      String strSql = "";
      if(CMPParameter.DBType ==1)
        strSql = "SELECT SYSDATE FROM DUAL";
      else if(CMPParameter.DBType ==2)
        strSql = "select getdate()";
      else if(CMPParameter.DBType ==3)
        strSql = "select getdate()";

      rs = conn.createStatement().executeQuery(strSql);
      rs.next();
      rs.getString(1);
      Debug.outInfo("[CMPPMaster]"+PublicFunction.getFormatTime()+" 通訊程序連接數(shù)據(jù)庫成功!");
      rs.close();
      this.isAvail = true;

      moSaveThread = new CMPPMODataSaveThread();
      moSaveThread.start();
      Debug.outInfo("[CMPPMaster]"+PublicFunction.getFormatTime()+" 緩沖數(shù)據(jù)線程啟動...");
    }
//    catch (ClassNotFoundException cnfe) {
//      disconnect();
//      System.out.println("Not Found Database Connect Driver " + cnfe);
//    }
    catch (Exception ex) {
      System.out.println("[CMPPMaster]連接數(shù)據(jù)庫失敗DBAccess.connect() 異常:" + ex);
      this.isAvail = false;
    }
    finally{
      discloseconn(conn,null,null);  //關(guān)閉connection(放回連接池)
    }

    return this.isAvail;
  }



    String strInsertOracle
        = "insert into cmpp_from_ismg ( from_ismg_id, deliver_msg_id, deliver_destnation_id," +
          "deliver_service_id, deliver_msg_fmt, deliver_src_terminal_id, deliver_registered_delivery,"+
          "deliver_msg_length, deliver_msg_content values(seq_sms.nextval,";
    String strInsertSqlServer
          = "insert into cmpp_from_ismg (deliver_msg_id, deliver_destnation_id," +
            "deliver_service_id, deliver_msg_fmt, deliver_src_terminal_id, deliver_registered_delivery,"+
            "deliver_msg_length, deliver_msg_content values(";

        /**
         * 將smgpMsg保存到數(shù)據(jù)庫中
         * @param smgpMsg
         * @throws java.lang.Exception
         */

    public void saveMOData(CMPP cmppMsg) throws Exception {

          Connection conn = null;
          PreparedStatement pstmt = null;

          try {

            conn = ConnectionPool.getConnection();

            //將狀態(tài)報告,Deliver消息插入到數(shù)據(jù)庫得SQL語句
            CMPP submitMsg = cmppMsg;
            if (submitMsg.Registered_Delivery == 1) {
              //當(dāng)為狀態(tài)報告時
              String strSql = "insert into cmpp_report (Msg_Id,Stat,Submit_time,Done_time,Dest_terminal_Id,SMSC_sequence) ";
              strSql += "values(?,?,?,?,?,?)";
              pstmt = conn.prepareStatement(strSql);
              pstmt.setLong(1, submitMsg.Sequence_Id);
              pstmt.setString(2, submitMsg.Report_Stat);
              pstmt.setString(3, submitMsg.Report_Submit_time);
              pstmt.setString(4, submitMsg.Report_Done_time);
              pstmt.setString(5, submitMsg.Report_Dest_terminal_Id);
              pstmt.setInt(6, submitMsg.Report_SMSC_sequence);
              pstmt.execute();
              pstmt.close();
            }
            else {
              //當(dāng)為Deliver消息時
              StringBuffer sbSql = new StringBuffer("");

              //CMPP3.0適應(yīng)性修改,修改了表結(jié)構(gòu)
              sbSql.append("insert into cmpp30_from_ismg (");
              sbSql.append(
                  "msg_id,isreport, service_code,src_number, src_number_type");
              sbSql.append(
                  "tp_pid,tp_udhi,dest_number,msg_fmt, msg_content,");
              sbSql.append(
                  "sys_time,link_id ) values (?,?,?,?,?,?,?,?,?,?,sysdate,?)");

              pstmt = conn.prepareStatement(sbSql.toString());
              pstmt.setString(1, String.valueOf(submitMsg.Msg_Id));
              pstmt.setString(2, String.valueOf(submitMsg.Registered_Delivery));
              pstmt.setString(3, submitMsg.Service_Id);
              pstmt.setString(4, submitMsg.Src_terminal_Id);
              pstmt.setByte(5, submitMsg.Src_terminal_type);
              pstmt.setByte(6, submitMsg.TP_pid);
              pstmt.setByte(7, submitMsg.TP_udhi);
              pstmt.setString(8, submitMsg.Dest_terminal_Id);
              pstmt.setByte(9, submitMsg.Msg_Fmt);
              pstmt.setString(10, submitMsg.Msg_Content);
              pstmt.setString(11, submitMsg.LinkID);
              pstmt.execute();
              pstmt.close();
            }
          }
          catch (Exception ex) {
            throw ex;
          }
          finally {
            discloseconn(conn, pstmt, null);
          }

        }

  /**
   * 將vctMOData中的MO數(shù)據(jù)保存到數(shù)據(jù)庫中
   * @param vctMOData
   * @throws java.lang.Exception
   */

  public void saveMOData(Vector vctMOData) throws Exception{

    Connection conn = null;
    PreparedStatement pstmt = null;

    try{

      conn = ConnectionPool.getConnection();

      //將狀態(tài)報告,Deliver消息插入到數(shù)據(jù)庫得SQL語句
      while(vctMOData.size()>0){

        CMPP submitMsg = (CMPP)vctMOData.elementAt(0);
        if(submitMsg.Registered_Delivery == 1){
          //當(dāng)為狀態(tài)報告時
          String strSql = "insert into cmpp_report (Msg_Id,Stat,Submit_time,Done_time,Dest_terminal_Id,SMSC_sequence) ";
                 strSql+= "values(?,?,?,?,?,?)";
          pstmt = conn.prepareStatement(strSql);
          //System.out.println("Report "+ submitMsg.Report_Msg_Id);
          pstmt.setLong(1,submitMsg.Report_Msg_Id);
          pstmt.setString(2,submitMsg.Report_Stat);
          pstmt.setString(3,submitMsg.Report_Submit_time);
          pstmt.setString(4,submitMsg.Report_Done_time);
          pstmt.setString(5,submitMsg.Report_Dest_terminal_Id);
          pstmt.setInt(6,submitMsg.Report_SMSC_sequence);
          pstmt.execute();
          pstmt.close();
        }
        else{
          //當(dāng)為Deliver消息時
          StringBuffer sbSql = new StringBuffer("");
//          sbSql.append("insert into cmpp_from_ismg ( from_ismg_id, deliver_msg_id, deliver_destnation_id,");
//          sbSql.append("deliver_service_id, deliver_msg_fmt, deliver_src_terminal_id, deliver_registered_delivery,");
//          sbSql.append("deliver_msg_length, deliver_msg_content");
//          sbSql.append(") values (seq_sms.nextval,");
//
//          sbSql.append("" +submitMsg.Msg_Id+",");
//          sbSql.append("'"+submitMsg.Dest_terminal_Id+"',");
//          sbSql.append("'"+submitMsg.Service_Id+"',");
//          sbSql.append("" +submitMsg.Msg_Fmt+",");
//          sbSql.append("'"+submitMsg.Src_terminal_Id+"',");
//          sbSql.append("'"+submitMsg.Registered_Delivery+"',");
//          sbSql.append("'"+submitMsg.Msg_Length+"',");
//          sbSql.append("'"+submitMsg.Msg_Content+"'");
//          sbSql.append(")");
//          stmt.addBatch(sbSql.toString());

          //CMPP3.0適應(yīng)性修改,修改了表結(jié)構(gòu)
          sbSql.append("insert into cmpp_mo_hn ( msg_id,dest_number,service_code,msg_fmt,tp_pid,tp_udhi,src_number_type,src_number,");
          sbSql.append("isreport,msg_content, sys_time, link_id ) ");;
          sbSql.append("values (?,?,?,?,?,?,?,?,?,?,sysdate,?)");

          pstmt = conn.prepareStatement(sbSql.toString());
          pstmt.setString(1,String.valueOf(submitMsg.Msg_Id));
          pstmt.setString(2,submitMsg.Dest_terminal_Id);
          pstmt.setString(3,submitMsg.Service_Id);
          pstmt.setByte(4,submitMsg.Msg_Fmt);
          pstmt.setByte(5,submitMsg.TP_pid);
          pstmt.setByte(6,submitMsg.TP_udhi);
          pstmt.setByte(7,submitMsg.Src_terminal_type);
          pstmt.setString(8,submitMsg.Src_terminal_Id);
          pstmt.setByte(9,submitMsg.Registered_Delivery);
          pstmt.setString(10,submitMsg.Msg_Content);
          pstmt.setString(11,submitMsg.LinkID);
          pstmt.execute();
          pstmt.close();
        }
        vctMOData.removeElementAt(0);
      }
    }
    catch(Exception ex){
      CMPP deliverMsg = (CMPP)vctMOData.elementAt(0);
      Debug.outInfo("\n[ERROR]"+PublicFunction.getFormatTime()+" 保存數(shù)據(jù)失敗:("+deliverMsg.Src_terminal_Id+") ServiceID:"
                    +deliverMsg.Service_Id + " SrcUserType:"+deliverMsg.Src_terminal_type+" MsgContent:"+deliverMsg.Msg_Content+ "  LinkId:"
                    +deliverMsg.LinkID + " DestID:"+ deliverMsg.Dest_terminal_Id);

      vctMOData.removeElementAt(0);
      throw ex;
    }
    finally{
      discloseconn(conn,pstmt,null);
    }

  }




  /**
   * 將待發(fā)送數(shù)據(jù)放入緩沖
   * @return
   */
  public boolean fectchMTDataToBuffer(){

    String strSql = "";
//    if(CMPParameter.DBType ==1)
//    strSql = "select * from (select rownum as my_rownum,a.* from( "+
//             "SELECT * FROM cmpp_to_ismg WHERE submit_status = 1"+
//             ") a where rownum<= 10 )where my_rownum> 0";
//    else
//    strSql = "select top 10 * from cmpp_to_ismg where submit_status = 1";

    if(CMPParameter.DBType ==1)
    strSql = "select * from (select rownum as my_rownum,a.* from( "+
             "SELECT * FROM cmpp_mt_hn WHERE status = -1 and sys_time < sysdate"+
             ") a where rownum<= 10 )where my_rownum> 0";
    else
    strSql = "select top 10 * from cmpp_mt_hn where status = -1";

    ResultSet rs    = null;
    Statement stmt  = null;
    Connection conn = null;

    try {
        //System.out.println("[CMPPMaster]讀取待發(fā)送信息到緩沖..." + strSql);
        conn = ConnectionPool.getConnection();
        stmt = conn.createStatement();
        rs   = stmt.executeQuery(strSql);
    }
    catch (Exception ex) {
        this.isAvail = false;
        Debug.outWarn("[CMPPMaster]Fetch data from cmpp_mt_hn table failed: " + ex) ;
        return false;
    }

    byte[] msg;
    try {
         int num        = 0;   //取出待發(fā)送數(shù)據(jù)的計數(shù)器
         String content = "";
         while( rs.next()) {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩高潮美女一区二区三区| 日韩精品一区二区三区四区| 欧美一区二区三区性视频| 中文字幕一区二区在线播放 | 国产精品久久久久久久久免费樱桃| 日韩av电影天堂| 欧美精品久久99| 日本一二三不卡| 成人app软件下载大全免费| 国产精品久久久久精k8| 成人网页在线观看| ...av二区三区久久精品| 成人丝袜视频网| 亚洲视频一区二区在线| 91国偷自产一区二区三区成为亚洲经典 | 久久综合色综合88| 春色校园综合激情亚洲| 国产精品国产三级国产有无不卡| 91视视频在线直接观看在线看网页在线看| 国产精品国产三级国产专播品爱网| caoporen国产精品视频| 一区二区三区色| 国产成人综合视频| 国产精品久久久久久久久图文区| 色综合天天天天做夜夜夜夜做| 亚洲另类在线一区| 日韩一区二区免费电影| 激情综合色综合久久| 国产精品久久久久久久久久久免费看| 成人黄色电影在线| 天天爽夜夜爽夜夜爽精品视频| 一本色道久久综合亚洲91| 久久国内精品视频| 亚洲品质自拍视频| 日韩欧美自拍偷拍| 色综合久久88色综合天天免费| 亚洲一卡二卡三卡四卡五卡| 久久久一区二区三区捆绑**| 精品视频在线免费观看| 成人免费观看男女羞羞视频| 麻豆国产欧美一区二区三区| 日韩精品五月天| 精品福利视频一区二区三区| 91麻豆精东视频| 成人精品免费视频| 狠狠色综合色综合网络| 欧美一区日韩一区| 精品视频在线看| 91免费版在线| 91美女在线看| 色综合久久久久综合| 国产福利一区二区| 国产东北露脸精品视频| 韩国精品免费视频| 亚洲黄一区二区三区| 中文字幕佐山爱一区二区免费| 久久美女艺术照精彩视频福利播放| 日韩美女主播在线视频一区二区三区 | 在线观看国产精品网站| 色综合天天视频在线观看| 91在线观看免费视频| 亚洲国产人成综合网站| 一二三区精品视频| 一区二区三区美女视频| 亚洲国产一区二区视频| 麻豆视频观看网址久久| 精品一区二区三区在线视频| 高清不卡一二三区| 欧美午夜精品久久久| 日韩欧美一二三四区| 久久亚洲欧美国产精品乐播| 亚洲欧美日本在线| 蜜桃av一区二区三区电影| 精品一区免费av| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美图片一区二区三区| 国产欧美日韩精品a在线观看| 国产福利一区二区三区视频| 91久久久免费一区二区| 久久久不卡影院| 不卡在线观看av| 日韩欧美国产综合一区| 中文字幕一区视频| 蜜臀精品久久久久久蜜臀 | 午夜精品久久久久影视| 国产成人精品亚洲日本在线桃色| 欧美少妇一区二区| 国产视频亚洲色图| 亚洲成a人片在线不卡一二三区| 国产一区二区免费看| 欧美日韩一区二区三区在线| 中文字幕亚洲成人| 国产成人在线网站| 精品国产麻豆免费人成网站| 青青草国产精品97视觉盛宴| 在线观看亚洲a| 亚洲一区免费在线观看| 成人一区二区三区中文字幕| 国产亚洲自拍一区| 国产美女视频91| 精品久久久久久久久久久久久久久久久 | 欧美日韩精品专区| 亚洲综合免费观看高清在线观看| 国产在线国偷精品产拍免费yy| 欧美一区二区精品在线| 免费黄网站欧美| 91精品免费观看| 日本伊人精品一区二区三区观看方式 | 国产精品一级在线| 中文字幕在线一区| 91丨国产丨九色丨pron| 亚洲手机成人高清视频| 色综合网站在线| 一区二区三区久久| 91免费精品国自产拍在线不卡| 国产欧美一二三区| 美女视频网站黄色亚洲| 国产免费久久精品| 91在线精品秘密一区二区| 亚洲va欧美va国产va天堂影院| 日本韩国欧美国产| 蜜臀av一区二区在线观看| 欧美精品精品一区| 水野朝阳av一区二区三区| 欧美一区二区三区爱爱| 不卡电影一区二区三区| 亚洲精品欧美专区| 在线免费观看视频一区| 亚洲一区中文在线| 在线成人av网站| 色婷婷精品大视频在线蜜桃视频 | 色综合一区二区| 精品播放一区二区| 在线播放国产精品二区一二区四区 | 欧美日韩一级黄| 日韩午夜在线观看视频| av激情成人网| 成人sese在线| 亚洲国产精品久久不卡毛片 | 日韩欧美国产精品| 欧美视频一区二区三区| 欧美制服丝袜第一页| 国产91精品精华液一区二区三区| 一个色妞综合视频在线观看| 久久精品亚洲乱码伦伦中文| 777a∨成人精品桃花网| 欧美久久久久久久久| 欧美日韩一卡二卡三卡 | 综合欧美亚洲日本| 亚洲欧洲日本在线| 久久久久久久精| 国产精品二三区| 亚洲专区一二三| 亚洲va天堂va国产va久| 日韩成人一级片| 国产一区二区三区日韩| 处破女av一区二区| 97成人超碰视| 欧美一区二区精品在线| 精品国产91洋老外米糕| 国产精品久久免费看| 亚洲欧洲精品成人久久奇米网| 中文成人综合网| 一级日本不卡的影视| 免费精品视频最新在线| 国模冰冰炮一区二区| 波多野结衣视频一区| 欧美日韩国产一级| 4438x亚洲最大成人网| 国产精品视频九色porn| 免费精品视频在线| 另类小说图片综合网| 成人午夜激情在线| 日韩女优毛片在线| 亚洲欧洲性图库| 韩日av一区二区| av中文字幕亚洲| 欧美成人精品1314www| 一区二区三区日韩欧美| 国产一区二区在线看| av成人老司机| 久久久国产午夜精品 | 亚洲欧美成aⅴ人在线观看| 青青青爽久久午夜综合久久午夜| aaa国产一区| 国产亚洲一二三区| 蜜臀91精品一区二区三区| 国产精品88888| 欧美激情在线看| 香蕉加勒比综合久久| 欧美在线观看视频在线| 亚洲男人的天堂在线aⅴ视频 | 国产三级精品三级在线专区| 亚洲第一主播视频| 色中色一区二区| 亚洲欧洲成人精品av97| 99久久精品一区二区| 最新欧美精品一区二区三区| 国产美女视频一区| 精品国产露脸精彩对白|