C3P0连接池配置详解:关键参数详细说明

需积分: 10 2 下载量 50 浏览量 更新于2024-09-11 收藏 18KB DOCX 举报
c3p0详细配置说明 c3p0是Java中的一种开源数据库连接池工具,它提供了许多配置项来控制连接池的行为。下面将详细介绍c3p0的配置项及作用。 1. acquireIncrement acquireIncrement是c3p0的一个重要配置项,它定义了当连接池中的连接耗尽时,c3p0一次同时获取的连接数。默认值为3。这意味着当连接池中的连接耗尽时,c3p0将尝试获取3个新的连接。这个配置项可以根据实际情况进行调整,以提高连接池的性能。 2. acquireRetryAttempts acquireRetryAttempts是c3p0的一个配置项,它定义了从数据库获取新连接失败后重复尝试的次数。默认值为30。这意味着如果c3p0在获取新连接时失败了,它将尝试30次以获取连接。这个配置项可以根据实际情况进行调整,以提高连接池的可靠性。 3. acquireRetryDelay acquireRetryDelay是c3p0的一个配置项,它定义了两次连接中间隔时间,单位毫秒。默认值为1000。这意味着如果c3p0在获取新连接时失败了,它将等待1000毫秒后再尝试获取连接。这个配置项可以根据实际情况进行调整,以提高连接池的性能。 4. autoCommitOnClose autoCommitOnClose是c3p0的一个配置项,它定义了连接关闭时默认将所有未提交的操作回滚。默认值为false。这意味着如果连接关闭时还有未提交的操作,c3p0将回滚这些操作。 5. automaticTestTable automaticTestTable是c3p0的一个配置项,它定义了c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么属性preferredTestQuery将被忽略。这个配置项可以根据实际情况进行调整,以提高连接池的可靠性。 6. breakAfterAcquireFailure breakAfterAcquireFailure是c3p0的一个配置项,它定义了获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。默认值为false。 7. checkoutTimeout checkoutTimeout是c3p0的一个配置项,它定义了当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,单位毫秒。默认值为0。这意味着如果客户端调用getConnection()后没有获取到连接,将无限期等待。 8. connectionTesterClassName connectionTesterClassName是c3p0的一个配置项,它定义了通过实现ConnectionTester或QueryConnectionTester的类来测试连接。类名需制定全路径。默认值为com.mchange.v2.c3p0.impl.DefaultConnectionTester。 c3p0提供了许多配置项来控制连接池的行为。通过合理地配置这些项,可以提高连接池的性能和可靠性。