C3P0属性说明

C3P0属性说明

 

 
 
acquireIncrement 默认值为3,表示当C3P0数据源中的连接池耗尽时,一次同时获取的连接数。
acquireRetryAttempts 默认值为30,表示从数据库中获取新连接失败后,重复尝试的次数。如果将其设置为0或者小于0的数值,则C3P0将一直进行尝试获取连接。
acquireRetryDelay 默认值为1000,单位为毫秒,表示C3P0相邻两次获取连接的时间间隔。
autoCommitOnClose 默认为false,表示在连接关闭时,将所有未提交的操作回滚。设置为true,则在连接关闭时,会将操作进行提交。
automaticTestTable

默认为null,设置该属性后,C3P0会自动创建一张名为该属性值的空表,专门是C3P0用来测试使用者所获取的数据库连接,使用者是没法对该表进行操作的。同时该属性设置后,则忽略preferredTestQuery 属性。

preferredTestQuery 默认为null,表示所有连接测试都要执行的测试语句,这一属性的设置能够显著地提高测试速度。注意:该测试语句里的表必须在数据源初始化的时候就已经存在了。
breakAfterAcquireFailure

默认为false,表示在获取数据库连接失败时,会引起所有等待连接池获取连接的线程抛出异常,但是数据源仍然保持有效,并且在下次调用getConnection时继续尝试获取连接。设置为true,表示在获取数据库连接失败时,重复尝试acquireRetryAttempts指定的次数,此时再失败,则声明数据源已经断开并且永久关闭。

driverClass 默认为null,值为全类名,该类是提供数据库连接的JDBC驱动类。默认C3P0会去检测其是否为JDBC驱动程序的实例,如果想跳过这步验证,可设置forceUseNamedDriverClass属性。
forceUseNamedDriverClass 默认为false,设置为true,表示强制指定driverClass属性指定的类为JDBC驱动程序的实例,而让C3P0不再做这一步检测。
dataSourceName 默认为C3P0指定的标识符,表示数据源的名称,便于我们追踪和查找数据源。
jdbcUrl 默认为null,表示数据库的JDBC URL,用来获取数据库连接。
user 默认为null,表示使用数据源时需要的用户名。
password 默认为null,表示使用数据源时需要的密码。
minPoolSize 默认为3,表示连接池中任何时候可以存放的连接最小数量。
maxPoolSize 默认为15,表示连接池中任何时候可以存放的连接最大数量。
initialPoolSize 默认为3,表示初始化连接池时获取的连接个数。该数值在miniPoolSize和maxPoolSize之间。
testConnectionOnCheckin 默认为false,设置为true,表示向连接池中放入连接时测试连接的有效性。
testConnectionOnCheckout 默认为false,设置为true,表示从连接池中取出连接时测试连接的有效性,因为此操作会降低性能,建议使用idleConnectionTestPeriod或者automaticTestTable来提升连接测试的性能。
checkoutTimeout 默认为0,单位为毫秒,表示当连接池中连接用完时,客户端调用getConnection获取连接等待的时间,如果超时,则抛出SQLException异常。特殊值0表示无限期等待。
connectionCustomizerClassName 默认为null,值为全类名,该类必须实现ConnectionCustomizer接口,用来管理Connection的生命周期,例如获取连接时设置Connection的隔离级别,Connection丢弃的时候进行资源关闭等等。一般不配置该属性。
connectionTesterClassName 默认为com.mchange.v2.c3p0.impl.DefaultConnectionTester,值为全类名,该类必须实现ConnectionTester或者QueryConnectionTester,用来测试数据库的连接。
debugUnreturnedConnectionStackTraces 默认为false,只可在debug下设置该属性为true,因为该设置会降低从连接池中获取连接的性能。设置为true,并且UnreturnedConnectionTimeOut设置为非0自然数,则C3P0会追踪所有从连接池中取出的连接,对于超时未归还的,会打印追踪信息。该设置就是为了测试应用对数据库的连接是否忘记归还,从而导致从C3P0连接池中取出的连接越来越多,最终池中连接被耗尽。
extensions 默认为空的Map,用来为C3P0设置自己的配置信息,一般是用来管理Connection生命周期(ConnectionCustomizer)的时候使用。
factoryClassLocation 默认为null,指定C3P0 libraries的路径,如果本地可以获取,则该值设置为null。
forceIgnoreUnresolvedTransactions 默认为false,强烈不推荐,设置为true,将导致出现奇怪的bug出现。
idleConnectionTestPeriod 默认为0,单位为秒,设置为非0自然数,表示每隔指定秒去检测一次连接池中的空闲连接。
maxConnectionAge 默认为0,单位为秒,表示连接超过该属性指定的时间,则被销毁掉,并且从连接池中移除,0则表示没有时间限制。
maxIdleTime 默认为0,单位为秒,表示在连接池中未被使用的连接最长存活多久不被移除。
maxIdleTimeExcessConnections 默认为0,单位为秒,表示在连接池中未被使用的、超出miniPoolSize的那些连接最长存活多久不被移除。
maxStatements 默认为0,表示JDBC的标准参数,控制数据源内缓存的PreparedStatements数量。和maxStatementsPerConnection配合使用,如果二者都为0,则statement不进行缓存。如果该参数为0,而maxStatementsPerConnection为非零自然数,则表示每一个连接缓存的PreparedStatements数量。
maxStatementsPerConnection 默认为0,表示每一个连接缓存的PreparedStatements数量。

详细介绍请查看C3P0官网说明:http://www.mchange.com/projects/c3p0/#maxPoolSize

你可能感兴趣的:(C3P0属性说明)