简单描述把,就是建立一个类似于Queue这样的集合对象,接着创建一定数量的Connection对象,下一步就是将这个Connection对象存入到Queue,有应用需要调用的时候就从Queue中拿出一个,当应用用完以后,调用close方法,池就会将连接放回到Queue中。这样程序在运行的过程中就无需多次建立数据库连接了,可以提高系统执行效率。
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。
在java中开源的数据库连接池有以下几种 :
1, c3p0 c3p0是一个开放源代码的jdbc连接池,它在lib目录中与hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的connection 和statement 池的datasources 对象。
2,proxool 这是一个java sql driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。可以非常简单的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的jdbc驱动程序增加连接池功能。
3,jakarta dbcp dbcp是一个依赖jakarta commons-pool对象池机制的数据库连接池.dbcp可以直接的在应用程序用使用。
4,ddconnectionbroker ddconnectionbroker是一个简单,轻量级的数据库连接池。
5,dbpool dbpool是一个高效的易配置的数据库连接池。它除了支持连接池应有的功能之外,还包括了一个对象池使你能够开发一个满足自已需求的数据库连接池。
6,xapool xapool是一个xa数据库连接池。它实现了javax.sql.xadatasource并提供了连接池工具。
7,primrose primrose是一个java开发的数据库连接池。当前支持的容器包括tomcat4&5,resin3与jboss3.它同样也有一个独立的版本可以在应用程序中使用而不必运行在容器中。primrose通过一个web接口来控制sql处理的追踪,配置,动态池管理。在重负荷的情况下可进行连接请求队列处理。
8,smartpool smartpool是一个连接池组件,它模仿应用服务器对象池的特性。smartpool能够解决一些临界问题如连接泄漏(connection leaks),连接阻塞,打开的jdbc对象如statements,preparedstatements等. smartpool的特性包括支持多个pools,自动关闭相关联的jdbc对象, 在所设定time-outs之后察觉连接泄漏,追踪连接使用情况, 强制启用最近最少用到的连接,把smartpool"包装"成现存的一个pool等。
9,miniconnectionpoolmanager miniconnectionpoolmanager是一个轻量级jdbc数据库连接池。它只需要java1.5(或更高)并且没有依赖第三方包。
10,bonecp bonecp是一个快速,开源的数据库连接池。帮你管理数据连接让你的应用程序能更快速地访问数据库。比c3p0/dbcp连接池快25倍。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....