c3p0数据源的使用

在tomcat/config/service.xml

View Code
 1     <Resource name="jdbc/hb" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource" />
 2     <ResourceParams name="jdbc/hb"> 
 3     <parameter>
 4     <name>factory</name>
 5     <value>org.apache.naming.factory.BeanFactory</value>
 6     </parameter>
 7     <parameter>
 8     <name>driverClass</name>
 9     <value>oracle.jdbc.driver.OracleDriver</value>
10     </parameter> 
11     <parameter>
12     <name>jdbcUrl</name>
13     <value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
14     </parameter> 
15     <parameter>
16     <name>user</name>
17     <value>hb</value>
18     </parameter>
19     <parameter>
20     <name>password</name>
21     <value>hb</value>
22     </parameter> 
23     <parameter>
24     <name>minPoolSize</name>
25     <value>30</value>
26     </parameter> 
27     <parameter>
28     <name>maxPoolSize</name>
29     <value>200</value>
30     </parameter>
31     <parameter>
32     <name>initialPoolSize</name>
33     <value>30</value>
34     </parameter>
35     <parameter>
36     <name>acquireIncrement</name>
37     <value>30</value>
38     </parameter>
39     <parameter>
40     <name>idleConnectionTestPeriod</name>
41     <value>60</value>
42     </parameter>
43     <parameter>
44     <name>maxIdleTime</name>
45     <value>60</value>
46     </parameter>
47     </ResourceParams>

driverClass 
jdbcUrl 
user 
password 

上面四个分别是驱动,连接字符串,用户名和密码 


minPoolSize 
maxPoolSize 
initialPoolSize 

acquireIncrement 池中没有空闲连接时,一次请求获取的连接数 
maxIdleTime 池中连接最大空闲时间 
acquireRetryAttempts 获取连接失败后,重新尝试的次数 
acquireRetryDelay 尝试连接间隔时间,毫秒 
checkoutTimeout 等待连接时间,0为无限等待,毫秒 
DebugUnreturnedConnectionStackTraces true,false,是否收回未返回的活动连接 
unreturnedConnectionTimeout 活动连接的时间. 

c3p0中的问题: 
unreturnedConnectionTimeout是给每个活动连接一个时间限制,到点儿就收回,不管有没有正在使用连接.这样不是太好,应该是从最后一次使用连接才开始计时才好.

c3p0与dbcp区别:
  dbcp没有自动的去回收空闲连接的功能   c3p0有自动回收空闲连接功能

原文地址:https://www.cnblogs.com/ningvsban/p/2963391.html