<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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 99在线热视频只有精品免费| 国产免费AV片在线观看播放| 亚洲日本在线免费观看| 亚洲国产精品成人精品无码区 | 免费A级毛片无码A∨| 亚洲AV无码国产在丝袜线观看| 中文在线免费不卡视频| 亚洲乱色熟女一区二区三区丝袜| 国产高清对白在线观看免费91 | 精品一区二区三区无码免费直播| 日本免费一区尤物| 免费一级毛suv好看的国产网站| 亚洲国产av一区二区三区| www免费插插视频| 亚洲高清国产拍精品26U| 免费A级毛片在线播放| 亚洲国产精品成人综合色在线婷婷| 无码中文字幕av免费放| 在线观看日本亚洲一区| 免费一级毛片正在播放| a级毛片在线免费观看| 亚洲日韩乱码久久久久久| 国产美女在线精品免费观看| 亚洲AV无码一区二区一二区| 亚洲精品成人久久久| 精品国产免费一区二区三区香蕉 | 成人黄色免费网站| 国产尤物在线视精品在亚洲| 国产综合亚洲专区在线| 免费看男女下面日出水来| 亚洲a∨无码精品色午夜| 亚洲欧洲精品无码AV| 无码专区永久免费AV网站| 人人爽人人爽人人片A免费| 久久精品夜色国产亚洲av| 全免费a级毛片免费看无码| 巨胸喷奶水视频www免费视频| 亚洲电影在线播放| 久久影院亚洲一区| 成人午夜18免费看| 国产va在线观看免费|