JDBC连接池是J2EE应用最常用的一个服务,JDBC连接池的设置相对比较简单一些。JDBC连接池的设置最主要的是Intial Capcity和Maximum Capacity两个属性。下面对于JDBC连接池的几个属性及优化配置方案进行描述:
Initial Capacity: 初始容量,即WebLogic Server在建立连接池的时候创建的连接数量
Maximum Capacity: 最大容量,即WebLogic Server允许的在这个连接池中的连接的最大数量。
通 常,初始容量和最大容量设置为相等,并且不小于执行线程的数量。如果你的应用中配置了自定义执行线程队列,那么就要计算全部的用来给应用工作的线程的数 量。如此设置才能够起到Pool的作用,避免在应用运行过程中出现创建JDBC连接的请求。因为创建JDBC连接对于WebLogic Server和数据库服务器来说,都是开销比较大的动作。如果应用中存在在一个线程中获取多个连接的情况,那么初始容量和最大容量应该大于执行线程的数 量,甚至需要成倍增加。比如下面的JSP代码就会导致一个线程工作占用2个连接:
ctx = new InitialContext();
ds = (DataSource)ctx.lookup(”lab.ds.pbjade”);
conn = ds.getConnection();
// do some query operations
conn2 = ds.getConnection();
// do some query operations
以 上这段代码,在执行过程中,第一个连接conn关闭之前,又获取了第二个连接conn2,这样一来,这个JSP页面在执行的时候(由一个线程来执行),会 同时获取2个连接,连接池容量的最优化设置