c3p0详细配置[文].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
C3P0 是一个开源的 JDBC 连接池,它实现了数据源和 JNDI 绑定,支持 JDBC3 规范和 JDBC2 的标准扩展。C3P0 提供了许多高级特性,如自动关闭事务、连接检测、连接池管理等。在配置 C3P0 时,可以通过 XML 配置文件或者 Java 配置类来设定各种参数以优化性能和稳定性。 以下是一些重要的 C3P0 配置属性及其详细说明: 1. `acquireIncrement`:当连接池中的连接耗尽时,一次同时获取的连接数,默认为3。增加此值可以更快地响应高并发请求,但会增加数据库服务器的压力。 2. `acquireRetryAttempts`:在从数据库获取新连接失败后重复尝试的次数,默认为30。设置合理的次数可以避免因短暂网络问题导致的数据源无法使用。 3. `acquireRetryDelay`:两次连接尝试之间的间隔时间,单位为毫秒,默认为1000。适当调整此值可以在重试时避免过于频繁的请求。 4. `autoCommitOnClose`:连接关闭时是否自动将所有未提交的操作回滚,默认为false。如果希望确保每次连接关闭时都回滚未提交的事务,可设置为true。 5. `automaticTestTable`:用于测试连接是否有效的自动生成的测试表名称。如果设置了此属性,将忽略 `preferredTestQuery`。 6. `breakAfterAcquireFailure`:当获取连接失败后,是否立即关闭数据源。默认为false,表示数据源在下一次尝试时仍会继续尝试获取连接。 7. `checkoutTimeout`:当连接池用完时,客户端等待新连接的超时时间,单位为毫秒。设置为0表示无限制等待。 8. `connectionTesterClassName`:自定义的连接测试类,用于检测连接的有效性。如果不设置,则使用默认的 `com.mchange.v2.c3p0.impl.DefaultConnectionTester`。 9. `factoryClassLocation`:指定 C3P0 库的位置,通常无需设置。 10. `forceIgnoreUnresolvedTransactions`:是否强制忽略未解决的事务。一般不推荐设置为true,可能会导致不可预见的问题。 11. `idleConnectionTestPeriod`:每60秒检查一次连接池中的空闲连接,以确保它们的可用性。设置为0表示不执行定期检查。 12. `initialPoolSize`:初始化时获取的连接数,应在最小和最大池大小之间,默认为3。 13. `maxIdleTime`:连接的最大空闲时间,超过这个时间未使用的连接将被丢弃。设置为0表示永不丢弃。 14. `maxPoolSize`:连接池中允许的最大连接数,默认为15。根据应用的并发量和数据库的承受能力来设置。 15. `maxStatements`:预缓存的 PreparedStatement 数量。注意,这些预缓存的语句属于单个连接而非整个连接池。 16. `maxStatementsPerConnection`:每个连接的最大预编译语句数。 此外,还有其他如 `minPoolSize`(最小连接池大小)、`testConnectionOnCheckin`(每次检查连接时是否执行测试)、`testConnectionOnCheckout`(获取连接时是否执行测试)等属性,可以根据实际需求进行调整。 正确配置 C3P0 参数有助于优化数据库性能,减少资源浪费,提高系统稳定性。在调整参数时,需要结合应用的负载情况和数据库的性能进行综合考虑,以达到最佳效果。
- 粉丝: 7
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助