软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > Java中的Connection Pool
全文

Java中的Connection Pool

2008-07-17 06:44作者:叱咤红人出处:天极网责任编辑:nancy

  我们需要使用Connection Pool的情况都通常都是指网络连接,比如:DB connection, Socket的Connection,这些对象往往需要使用Pool来管理,因为这些对象的重复创建需要较长的时间,是系统性能的瓶颈。

  Connection Pool实现包括两类:第一种是受管的Connection Pool,需要实现JCA的Resource Adapter规范,通过JNDI lookup出来ConnectionPool对象,然后调用受管ConnectionPool对象的getConnection方法获得connection,第二种是自己实现一个Connection的Object Pool,通过自定义的ConnectionFactory类获得一个connection。

  第一种:受管的Connection Pool

  目前J2EE Container中常用的connection pool有:

  DB Connection Pool

  JMS Connection Pool

  LDAP Connection Pool

  JCA Connection Pool

  DB Connection Pool即JDBC connection pool,基本上所有的J2EE容器都提供了实现,JMS connection pool一般的JMS Server都提供了实现,LDAP connection pool由LDAP Server提供实现, JCA connection pool需要自己实现resource adapter。

  第二种:实现一个Connection的Object Pool

  通常可以在已有第三方的Object Pool上实现自己的Connection Pool,如apache的commons pool,如果非要从头开始当然也是可以的。通常如果是要用规范的API获取connection,如jdbc,jms,举个例子DriverManager.getConnection, Connection.close, 为了使这个Connection Pool可以方便地用在各种jdbc驱动上,而且为了使原来没有使用该Connection Pool的应用可以方便地切换到该Connection Pool上,我们可能需要用到AOP,这样DriverManager.getConnection就是从pool中取出connecton(如果pool中有的话),Connection.close就是return给pool,从逻辑上释放。用OO的方法也是可以实现的。

相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众