<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,  comments - 11,  trackbacks - 0
        無論是怎樣的應用系統,都無法脫離對資源的管理和使用。而對于持久層而言,資源的合理管理和調度則顯得尤為重要。
        資源管理機制的設計對于系統整體表現往往可以產生關鍵性影響。同時,除去性能之外,良好的資源管理機制還能為系統的伸縮性、可維護性帶來相當的提升。
        Connection Pool:數據庫連接池技術帶來的優勢
        1、資源重用
        由于數據庫連接得以重用,避免了頻繁創建、釋放連接引起的大量性能開銷。在減少系統消耗的基礎上,另一方面也增進了系統運行環境的平穩性。
        2、更快的系統響應速度
        數據庫連接池在初始化過程中,往往已經創建了若干數據庫連接池置于池中備用。此時連接的初始化工作均已完成。對于業務請求處理而言,直接利用現有可用連接,避免了數據庫連接初始化和釋放過程的時間開銷,從而縮減了系統整體響應時間。
        3、新的資源分配手段
        對于多應用共享同一數據庫的系統而言,可在應用層通過數據庫連接池的配置,實現某一應用最大可用數據庫連接數的限制,避免某一應用獨占所有數據庫資源
        4、統一的連接管理,避免數據庫連接泄露
        在較為完備的數據庫連接池實現中,可根據預先的連接占用超時設定,強制收回被占用連接。從而避免了常規數據庫連接操作中可能出現的資源泄露。
       
       
    public class DBConnectionPool implements ConnectionPool{
          
    private statci Vector pool;
          
    private final int POOL_MAX_SIZE = 20;
          
    //獲取數據庫連接,如果當前池中有可用連接,則將池中最后一個返回,如果沒有,則新建一個返回
          public synchronized Connection getConnection()throws DBException{
            
    if(pool==null){
              pool 
    = new Vector();
            }
            Connection conn;
            
    if(pool.isEmpty()){
              conn 
    = createConnection();
            }
    else{
              
    int last_idx = pool.size()-1;
              conn 
    = (Connection)pool.get(last_idx);
              pool.remove(pool.get(last_idx));
            }
            
    return conn;
          }
        
    //將使用完畢的數據庫連接放回備用池中
        public synchronized void releaseConnection(Connection conn){
          
    if(pool.size()>POOL_MAX_SIZE){
            
    try{
              conn.close();
            }
    catch(SQLException e){
              e.printStackTrace();
            }
          }
    else{
            pool.add(conn);
          }
        }
        
    //讀取數據庫配置信息,從數據庫連接池中獲得數據庫連接
        private static Connection createConnection()throws DBException{
          Connection conn;
          
    try{
            Class.forName(
    "oracle.jdbc.driver.OracleDriver");
            conn 
    = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:oracle","personal","personal");
            
    return conn;
          }cacth(ClassNotFoundException e){
            
    throw new DBException("ClassNotFoundException when loading JDBC Driver");
          }
        }
        }
       
       

    posted on 2009-10-07 15:26 王永慶 閱讀(155) 評論(0)  編輯  收藏 所屬分類: HIBERNATE
    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲一卡2卡3卡4卡乱码 在线| 亚洲成a人片在线观看中文动漫| 亚洲成年人电影网站| 国内精品久久久久影院免费| 亚洲三区在线观看无套内射| www免费黄色网| 亚洲国产精品无码中文字| 中文字幕乱码免费看电影| 国产成人亚洲综合色影视| 在线观看特色大片免费网站 | 国产免费人视频在线观看免费| 国产精品免费网站| 亚洲人成免费电影| 成人免费男女视频网站慢动作| 亚洲中文字幕久久精品无码A| 国内精品免费久久影院| 亚洲成在人天堂一区二区| 91久久精品国产免费直播| 亚洲一区二区三区免费视频| 成全视频高清免费观看电视剧| 亚洲AV无码欧洲AV无码网站| 亚洲人成免费网站| 亚洲精品又粗又大又爽A片| 亚洲国产精品日韩| 亚洲乱色熟女一区二区三区蜜臀| 国产女高清在线看免费观看| 亚洲av无码一区二区三区观看| 在线观看成人免费| jizz中国免费| 中文字幕亚洲精品| 免费黄色电影在线观看| 亚洲18在线天美| 亚洲精品国产自在久久| 99精品视频在线观看免费播放| 国产美女亚洲精品久久久综合| 粉色视频免费入口| 亚洲AV综合色一区二区三区| 国产又黄又爽又猛免费app| 一区二区视频免费观看| 国产精品高清视亚洲精品| 亚洲中文字幕无码一区二区三区|