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

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

?? dbconnectionpool.java

?? java系統(tǒng)通用框架 很實(shí)用的東東 一般人都看的懂,
?? JAVA
字號(hào):
/****************************************************************************** (C) Copyright 2004* 保留對(duì)所有使用、復(fù)制、修改和發(fā)布整個(gè)軟件和相關(guān)文檔的權(quán)利。* 本計(jì)算機(jī)程序受著作權(quán)法和國(guó)際公約的保護(hù),未經(jīng)授權(quán)擅自復(fù)制或* 傳播本程序的全部或部分,可能受到嚴(yán)厲的民事和刑事制裁,并* 在法律允許的范圍內(nèi)受到最大可能的起訴。*/ /*****************************************************************************  * @作者:Golden Peng  * @版本: 1.0  * @時(shí)間: 2002-10-08  */ /*****************************************************************************  * 修改記錄清單  * 修改人  :  * 修改記錄:  * 修改時(shí)間:  * 修改描述:  *  */package com.corp.bisc.ebiz.base;import java.sql.*;import java.util.*;import java.util.Date;import java.io.*;import com.corp.bisc.ebiz.exception.*;import com.corp.bisc.ebiz.base.*;/*DBConnectionPool提供兩種方法來(lái)檢查連接。 兩種方法都返回一個(gè)可用的連接,如果沒(méi)有多余的連接, 則創(chuàng)建一個(gè)新的連接。 如果最大連接數(shù)已經(jīng)達(dá)到,第一個(gè)方法返回null, 第二個(gè)方法則等待一個(gè)連接被其他進(jìn)程釋放。*/public class DBConnectionPool extends ObjectBase {  private String name;  private String URL;  private String user;  private String password;  private int maxConn;  private boolean autoCommit;  private int timeout;  private Vector freeConnections =new Vector();//保存的數(shù)據(jù)庫(kù)連接  private int checkedOut;         //申請(qǐng)的連接池  //構(gòu)造函數(shù)取得上述的所有參數(shù)  //構(gòu)造DBConnectionPool對(duì)象  public DBConnectionPool(DSConfig dsconfig)  {    this.name = dsconfig.name;    this.URL = dsconfig.URL;    this.user = dsconfig.user;    this.password = dsconfig.password;    this.maxConn = dsconfig.maxConn;    this.autoCommit =dsconfig.autoCommit ;    this.timeout =dsconfig.timeout ;  }  public int getCheckedOut()  {    return checkedOut;  }/************************************************************* *功能描述:從DBConnectionPool取得數(shù)據(jù)庫(kù)連接對(duì)象Connection * **/  public synchronized Connection getConnection() throws PortalException{    Connection con = null;    if (freeConnections.size() > 0) {          // Pick the first Connection in the Vector          // to get round-robin usage          con = (Connection) freeConnections.firstElement();          freeConnections.removeElementAt(0);          try {                if (con.isClosed()) {                    log.error("Removed bad connection from " + name);                    // Try again recursively                    con = getConnection();                }          }catch (Exception ex) {            con = getConnection();            throw new DatabaseDeniedException("取數(shù)據(jù)庫(kù)連接失敗:" + ex.toString() );          }      }else if (maxConn == 0 || checkedOut < maxConn) {        con = newConnection();     } else {         throw new DatabaseDeniedException("數(shù)據(jù)庫(kù)連接數(shù)達(dá)到系統(tǒng)的限制值." );     }    if (con != null) {        checkedOut++;    }    return con;}/******************************************************************************* *功能描述: Create New Connection創(chuàng)建一個(gè)新的連接 *方法newConnection()用來(lái)創(chuàng)建一個(gè)新的連接。這是一個(gè)私有方法, *基于用戶名和密碼來(lái)確定是否可以創(chuàng)建新的連接。 * */   private Connection newConnection() throws PortalException{      Connection con = null;      try {           if (user == null) {                con = DriverManager.getConnection(URL);            }else {                con = DriverManager.getConnection(URL, user, password);            }            con.setAutoCommit(autoCommit);            return con;      }catch (Exception ex) {          throw new DatabaseDeniedException("創(chuàng)建新的數(shù)據(jù)庫(kù)連接錯(cuò)誤:" + ex.toString());      } } /*******************************************************************************  *功能描述: 從連接池中取得一個(gè)有效的Connection連接對(duì)象  * @param timeout  時(shí)間限制,單位為秒  *  */    public synchronized Connection getConnection(long timeout) throws PortalException{      long startTime = new Date().getTime();      Connection con;      while ((con = getConnection()) == null) {          try {                  wait(timeout);              }catch (InterruptedException e) {              }              if ((new Date().getTime() - startTime) >= timeout) {                log.error("取數(shù)據(jù)庫(kù)連接超時(shí).");                return null;              }      }      return con;   }/****************************************************************************** *功能描述: 連接被加在freeConnections向量的最后,占用的連接數(shù)減1, * 調(diào)用notifyAll()函數(shù)通知其他等待的客戶現(xiàn)在有了一個(gè)連接 *@param con 要釋放的數(shù)據(jù)連接 * */ public synchronized void freeConnection(Connection con) {      // Put the connection at the end of the Vector      freeConnections.addElement(con);      checkedOut--;      notifyAll();  }/******************************************************************************* *功能描述: 數(shù)據(jù)庫(kù)連接池需要得到通知以正確地關(guān)閉所有的連接。 * DBConnectionManager負(fù)責(zé)協(xié)調(diào)關(guān)閉事件, * 但連接由各個(gè)連接池自己負(fù)責(zé)關(guān)閉。 * 方法relase()由DBConnectionManager調(diào)用。 * */ public synchronized void release() throws PortalException {        Enumeration allConnections = freeConnections.elements();        while (allConnections.hasMoreElements()) {        Connection con = (Connection) allConnections.nextElement();        try {           con.close();        }catch (Exception ex) {            throw new DatabaseDeniedException("釋放數(shù)據(jù)庫(kù)連接錯(cuò)誤:" + ex.toString() );        }      }      freeConnections.removeAllElements();  }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级片在线| 色先锋aa成人| 久久精品一区二区三区不卡| 国产一区二区三区视频在线播放| 久久综合九色综合97_久久久| 国产美女av一区二区三区| 国产精品不卡在线观看| 欧美中文字幕一二三区视频| 韩国精品在线观看| 国产欧美日韩中文久久| 91免费视频网| 蜜臀久久99精品久久久画质超高清| 欧美videos中文字幕| 夫妻av一区二区| 一区二区三区欧美视频| 欧美一级淫片007| 成人短视频下载| 日韩成人免费看| 亚洲国产高清在线观看视频| 欧美亚洲综合另类| 国产最新精品精品你懂的| 亚洲四区在线观看| 日韩一区二区三区在线| 成人va在线观看| 午夜不卡av在线| 国产精品午夜电影| 欧美一级理论性理论a| 成人午夜私人影院| 婷婷久久综合九色综合绿巨人| 国产亚洲精品aa| 欧美精品一级二级三级| av在线不卡免费看| 国产在线视频不卡二| 亚洲综合无码一区二区| 国产日韩欧美精品在线| 欧美丰满嫩嫩电影| 91免费看片在线观看| 国产一区二区三区免费看| 亚洲高清在线精品| 国产精品久久免费看| 日韩精品一区二区三区四区视频| 国产一区二区成人久久免费影院| 在线欧美一区二区| 国产一区二区三区高清播放| 天堂蜜桃91精品| 亚洲精品网站在线观看| 国产亚洲欧洲一区高清在线观看| 欧美精品一级二级三级| 色婷婷狠狠综合| 成+人+亚洲+综合天堂| 久久国产精品免费| 免费在线观看精品| 视频在线观看一区| 亚洲小说欧美激情另类| 亚洲人成亚洲人成在线观看图片| 久久久精品免费网站| 精品少妇一区二区三区在线播放 | 欧美视频在线观看一区二区| 国产成人亚洲综合a∨婷婷 | 91污片在线观看| 国产xxx精品视频大全| 精品在线一区二区| 免费观看日韩av| 亚洲成在线观看| 五月激情综合婷婷| 日韩精品成人一区二区三区 | 欧美激情综合五月色丁香| 欧美大尺度电影在线| 日韩亚洲欧美成人一区| 制服丝袜激情欧洲亚洲| 在线成人免费观看| 91精品国产黑色紧身裤美女| 在线不卡免费欧美| 在线电影国产精品| 日韩视频中午一区| 久久伊人蜜桃av一区二区| 精品久久久久久久久久久久久久久 | 美女任你摸久久| 久久精品72免费观看| 蜜桃视频一区二区三区在线观看| 日本中文字幕不卡| 久久成人麻豆午夜电影| 狠狠色丁香久久婷婷综| 国产成人av一区二区三区在线| 国产精品一区二区果冻传媒| 成人一区在线观看| 99视频精品全部免费在线| 日韩欧美另类在线| 精品对白一区国产伦| 久久久久国产一区二区三区四区| 日本一区二区三区久久久久久久久不| 久久久久免费观看| 亚洲视频小说图片| 亚洲国产成人tv| 欧美a级理论片| 国产精品一卡二卡| 成人av资源站| 欧美日韩免费不卡视频一区二区三区| 在线不卡一区二区| 国产欧美综合在线| 一区二区久久久久| 九九精品一区二区| 97se亚洲国产综合自在线不卡| 欧美偷拍一区二区| 久久在线免费观看| 一区二区三区在线播放| 青青草国产精品97视觉盛宴| 国产传媒欧美日韩成人| 日本高清视频一区二区| 日韩欧美在线观看一区二区三区| 国产精品视频免费| 亚洲成人av在线电影| 国产99久久久久久免费看农村| 欧美在线视频全部完| 日韩免费看的电影| 亚洲人123区| 国产综合成人久久大片91| 欧美综合一区二区| 久久午夜羞羞影院免费观看| 伊人性伊人情综合网| 国产一区二区三区免费| 欧美三级中文字幕在线观看| 2023国产精品视频| 亚洲一卡二卡三卡四卡无卡久久| 国产精品一区在线观看你懂的| 在线视频亚洲一区| 中文字幕成人在线观看| 美日韩一区二区| 欧洲精品视频在线观看| 久久久国产精品不卡| 午夜精品久久久久久久99樱桃| 成人黄色片在线观看| 777xxx欧美| 亚洲一二三四久久| 成人免费电影视频| 久久综合给合久久狠狠狠97色69| 亚洲黄色片在线观看| 成人精品小蝌蚪| 久久亚洲精品国产精品紫薇| 天天操天天干天天综合网| 91国在线观看| 国产精品久久久久一区二区三区| 九九九精品视频| 国产亚洲欧美中文| 老司机午夜精品| 日韩一二三区视频| 性感美女极品91精品| 在线观看三级视频欧美| 成人免费一区二区三区视频 | 久久日韩粉嫩一区二区三区| 日本不卡视频一二三区| 7777精品伊人久久久大香线蕉超级流畅 | 欧美哺乳videos| 天天综合色天天| 欧美日韩你懂得| 亚洲成人三级小说| 欧美日韩在线直播| 偷拍日韩校园综合在线| 欧美影视一区在线| 亚洲网友自拍偷拍| 欧美日韩亚洲国产综合| 亚洲影院理伦片| 欧美视频在线不卡| 亚洲丶国产丶欧美一区二区三区| 欧美午夜免费电影| 亚洲一级二级三级| 欧美久久高跟鞋激| 美腿丝袜亚洲三区| 26uuu国产日韩综合| 国产在线播放一区二区三区| 久久免费美女视频| 国产成人亚洲综合a∨婷婷图片| 国产欧美va欧美不卡在线| 成人性色生活片免费看爆迷你毛片| 国产三级精品视频| 99在线视频精品| 亚洲精品欧美综合四区| 欧美日韩亚洲国产综合| 奇米色一区二区三区四区| 亚洲精品一区二区精华| 岛国一区二区在线观看| 亚洲欧美一区二区三区极速播放 | 欧美欧美午夜aⅴ在线观看| 日本aⅴ免费视频一区二区三区 | 亚洲视频一区在线观看| 欧美日韩一区国产| 久久aⅴ国产欧美74aaa| 国产精品丝袜黑色高跟| 色偷偷88欧美精品久久久| 日日骚欧美日韩| 久久久久久久综合日本| 91在线高清观看| 日本午夜精品一区二区三区电影| 久久久久国产精品麻豆ai换脸| 成人av电影在线观看| 午夜欧美视频在线观看 | 91麻豆swag| 日本中文字幕一区| 国产精品乱码人人做人人爱| 欧洲av在线精品|