目录
一、简介
DBCP (DatabaseConnection Pool)是Apache放下的一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。
使用DBCP会用到commons-dbcp.jar
和commons-pool.jar
两个包。
DBCP的工作原理是,程序首先会初始化相应的数据库连接池,以供程序访问,当某个操作需要访问数据库时,程序会首先在连接池中取得空闲连接,如没有空闲连接在创建,用完之后归还连接池,这样达到了连接的重利用,不用频繁的创建连接和销毁,从而优化程序。
二、常用参数说明
- initialSize=10:初始化连接,连接池启动时创建的初始化连接数量(默认为0)
- maxActive=50:最大活动连接,在连接池中可同时连接的最大的连接数(默认为8)
- minIdle=10:最小空闲连接,连接池中最小的空闲的连接数,低于这个数量就会创建新的连接(默认为0,该参数越接近maxIdle性能越好,因为连接的创建和销毁都是需要消耗资源的,但是也不能太大)
- maxIdle=20:最大空闲连接数,超过的空闲连接将会被释放,如果设置为负数表示不限制(默认是8个,maxIdle不能设置太小,因为在高负载的情况下,连接的打开时间比关闭时间快,会导致连接池中Idle的个数上升超过maxIdle,因而造成频繁的连接创建和销毁)
- maxWait=60000:从连接池取连接的最大等待时间,单位是毫秒(ms),当没有可用连接时,超过该时间限制后就会抛出异常,如果设置为-1表示无限等待(默认为无限等待)