<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

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 香蕉高清免费永久在线视频| 手机在线看永久av片免费| 免费国产在线观看| 亚洲午夜无码久久久久软件| 在线看片v免费观看视频777| 亚洲精品天天影视综合网| 亚洲中文字幕视频国产| 免费看黄网站在线看| 亚洲国产人成精品| 成人午夜免费视频| 国产成人亚洲综合无码| 两个人看的www高清免费观看| 亚洲乱码国产一区三区| 免费人成网站在线观看不卡| 久久亚洲一区二区| 国产精品久久永久免费| 自拍偷区亚洲国内自拍| 日本免费人成黄页在线观看视频 | 久久亚洲精品成人综合| 久久久久久久99精品免费| 亚洲精品国产电影午夜| 日韩av无码成人无码免费| MM1313亚洲精品无码久久| 国产精品亚洲精品日韩已方| a级毛片免费高清毛片视频| 99久久亚洲精品无码毛片| 欧美a级成人网站免费| 美女黄色毛片免费看| 伊人久久大香线蕉亚洲| 18禁无遮挡无码国产免费网站| 亚洲一线产区二线产区区| 免费成人在线观看| 亚洲午夜免费视频| 亚洲日本VA午夜在线电影| 亚洲人成无码网WWW| 88xx成人永久免费观看| 日韩色视频一区二区三区亚洲| 国产亚洲人成网站观看| 黄瓜视频高清在线看免费下载| 一级一片免费视频播放| 亚洲一级高清在线中文字幕|