设计一个数据库连接池,不是非常难的事情,但是要做一个好的连接池,不容易。
1.连接池出现的背景
传统的JDBC连接,当应用程序需要connection的时候,就去创建,使用完了销毁。这种模式,对于稍微大一点的应用,频繁的创建和销毁连接,会给系统带来性能的问题,最终会成为性能的瓶颈。
连接池的基本原理如下:
创建一个pool,初始化时,预先把创建好的连接存在Pool里面,当需要连接时,从Pool取出一个,当使用完毕以后再把它放到池子里面。连接池应该有下面很重要的属性:
1)initialSize
初始化连接的数目
2)MaxIdle
最大的处于闲置状态的连接数目,所谓闲置的连接也就是没有被使用的连接
3)MaxActive
正在使用的连接的最大数目
4)MaxWait
当池中没有闲置连接时,客户端等待闲置连接的最大时间
5)minIdle
当池中闲置的连接小于minIdle时,连接池会主动创建连接直到=minIdle为止
完成连接池的架构,包括连接池的创建,连接池对Connection的管理(包括创建和销毁)
http://www.sudu.cn/info/html/edu/20071219/117161.html
2.连接池的建立
数据库连接池,可以采用Java工具集合类,如Vector,ArrayList(注意要用线程安全的,用ArrayList要注意同步),LinkedList
3.连接池的管理
4.连接池的关键技术