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 王永庆 阅读(150) 评论(0)  编辑  收藏 所属分类: HIBERNATE

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔分类

随笔档案

关注blogs

搜索

  •  

最新评论

阅读排行榜

评论排行榜