C3PO是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection和Statement池.C3PO类包位于<附件中/lib/c3p0/c3p0-0.9.1.2.jar>,配置Oracle数据源:
Java代码
1.import java.beans.PropertyVetoException;
2.import java.sql.Connection;
3.import java.sql.SQLException;
4.
5.import com.mchange.v2.c3p0.ComboPooledDataSource;
6.import com.mchange.v2.c3p0.DataSources;
7.
8.public class Test {
9. public static void main(String[] args) {
10. ComboPooledDataSource cpds = new ComboPooledDataSource();
11. try {
12. // 数据源进行各种有效的控制:
13. // 设置驱动
14. cpds.setDriverClass("oracle.jdbc.driver.OracleDriver");
15. // 设置数据库URL
16. cpds.setJdbcUrl("jdbc:oracle:thin:@10.2.4.77:1521:ORCL");
17. // 设置用户名
18. cpds.setUser("**********");
19. // 设置密码
20. cpds.setPassword("**********");
21. // 当连接池中的连接用完时,C3PO一次性创建新的连接数目;
22. cpds.setAcquireIncrement(3);
23. // 定义在从数据库获取新的连接失败后重复尝试获取的次数,默认为30;
24. cpds.setAcquireRetryAttempts(30);
25. // 两次连接中间隔时间默认为1000毫秒
26. cpds.setAcquireRetryDelay(1000);
27. // 连接关闭时默认将所有未提交的操作回滚 默认为false;
28. cpds.setAutoCommitOnClose(false);
29. // 获取连接失败将会引起所有等待获取连接的线程异常,但是数据源仍有效的保留,并在下次调用getConnection()的时候继续尝试获取连接.如果设为true,那么尝试获取连接失败后该数据源将申明已经断开并永久关闭.默认为false
30. cpds.setBreakAfterAcquireFailure(false);
31. // 当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则无限期等待.单位毫秒,默认为0
32. cpds.setCheckoutTimeout(0);
33. // 隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查;
34. cpds.setIdleConnectionTestPeriod(0);
35. // 初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值.默认为3
36. cpds.setInitialPoolSize(10);
37. // 最大空闲时间,超过空闲时间的连接将被丢弃.为0或负数据则永不丢弃.默认为0;
38. cpds.setMaxIdleTime(0);
39. // 连接池中保留的最大连接数据.默认为15
40. cpds.setMaxPoolSize(20);
41. // JDBC的标准参数,用以控制数据源内加载的PreparedStatement数据.但由于预缓存的Statement属于单个Connection而不是整个连接池.所以设置这个参数需要考滤到多方面的因素,如果maxStatements
42. // 与maxStatementsPerConnection均为0,则缓存被关闭.默认为0;
43. cpds.setMaxStatements(0);
44. // 连接池内单个连接所拥有的最大缓存被关闭.默认为0;
45. cpds.setMaxStatementsPerConnection(0);
46. // C3P0是异步操作的,缓慢的JDBC操作通过帮助进程完成.扩展这些操作可以有效的提升性能,通过多数程实现多个操作同时被执行.默为为3
47. cpds.setNumHelperThreads(3);
48. // 用户修改系统配置参数执行前最多等待的秒数.默认为300;
49. cpds.setPropertyCycle(300);
50. // 获取数据连接
51. Connection conn = cpds.getConnection();
52. if ( conn != null) {
53. System.out.println("OK");
54. // 关闭连接,当前连接被连接池收回
55. conn.close();
56. }
57.
58. } catch (PropertyVetoException e) {
59. e.printStackTrace();
60. } catch (SQLException e) {
61. e.printStackTrace();
62. } finally {
63. try {
64. //关闭数据连接池
65. DataSources.destroy(cpds);
66. } catch (SQLException e) {
67. e.printStackTrace();
68. }
69. }
70. }
71.}
分享到:
相关推荐
C3P0的配置主要通过`c3p0.properties`文件进行,其中包含了许多关键参数: - `minPoolSize`:最小连接池大小,初始化时创建的连接数量。 - `maxPoolSize`:最大连接池大小,池中允许的最大连接数。 - `...
- **配置参数**: c3p0有许多可调整的参数,如初始化连接数、最大连接数、连接测试频率等,这些参数可以优化连接池性能。 2. **配置方法** - **引入依赖**: 首先在项目中添加c3p0的依赖库,例如在Maven项目中,...
C3P0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。对于初学者来说,理解并掌握C3P0的使用是数据库操作中非常重要的一步。下面将详细介绍C3P0连接池的基本概念、配置、使用...
### c3p0数据库缓冲池配置说明 #### 一、概述 C3P0 是一个开源的 J2EE 连接池实现,它提供了一种简单的方法来管理和控制数据库连接资源,可以有效提高应用程序访问数据库的性能。在 Java 应用程序中,频繁地创建和...
以下是一个完整的示例配置,用于说明如何在 `hibernate.properties` 文件中配置 C3P0: ```properties hibernate.connection.driver_class=org.postgresql.Driver hibernate.connection.url=jdbc:postgresql://...
在Java开发中,c3p0和log4j是两个非常关键的库,它们分别用于数据库连接池管理和日志记录。下面将详细讲解这两个库的配置及其重要性。 首先,c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,可以极大地...
### C3P0在Tomcat中的配置详解 #### 一、引言 随着Web应用的不断发展,数据库连接池技术在提高应用性能方面扮演着至关重要的角色。Tomcat作为一款广泛使用的Java Web应用服务器,提供了内置的连接池机制,但在某些...
以下详细说明了C3P0相关的关键知识点。 ### C3P0的安装与配置 C3P0的使用非常简单,首先需要将相关的jar包放置在项目的CLASSPATH中。具体来说,需要包含两个jar包:`c3p0-*.*.*.*.jar`和`mchange-commons-java-0.2...
2. 配置c3p0:通过Properties文件或者在代码中配置c3p0的相关参数,例如初始连接数、最大连接数、超时时间等。 3. 初始化数据源:使用c3p0提供的`ComboPooledDataSource`类创建数据源实例,并设置数据库连接信息...
1. **初始化配置**: 开发者可以通过`c3p0-config.xml`文件或程序代码进行配置,包括初始连接数、最大连接数、最小连接数、超时时间等参数。 2. **MBean监控**: c3p0支持JMX(Java Management Extensions)的MBeans...
在“使用说明.txt”文件中,通常会包含如何在项目中集成和配置C3P0的具体步骤,包括添加依赖、配置连接池参数以及在代码中使用连接池的示例。而“c3p0-0.9.2.1”文件可能是C3P0的JAR包,它包含了所有必要的类和资源...
4. **连接配置**:c3p0提供了丰富的配置选项,允许开发者根据实际需求调整连接池的大小、连接超时时间、空闲连接测试频率等参数。 5. **事务支持**:c3p0支持JDBC的事务管理,可以配合应用的事务策略进行操作。 6....
总结,C3P0连接池与MySQL 8.0.11的整合主要涉及以下步骤:引入相关依赖、配置数据源参数、在代码中初始化数据源,以及在打包时包含所有依赖。通过这样的设置,你可以高效地管理和使用数据库连接,提升应用性能,同时...
2. 自动测试:c3p0提供了一个名为`testOnBorrow`的配置选项,每次从池中获取连接时,会自动进行健康检查,确保返回的连接是可用的。 3. 连接生命周期管理:c3p0允许设置连接的最大空闲时间,超时的连接会被自动回收...
### C3P0连接池参数说明 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更丰富的配置选项。以下是一些重要参数: 1. **classLoader**: 自定义类加载器,用于加载JDBC驱动。 2. **driver...
在配置c3p0时,你可以通过代码或者XML配置文件(如`persistence.xml`或自定义的配置文件)来设定连接池的各项参数。例如,你可以设置初始化连接数(`initialPoolSize`)、最小连接数(`minPoolSize`)、最大连接数...
3. 配置连接池参数:c3p0提供了丰富的参数用于调整连接池的行为,如`minPoolSize`、`maxPoolSize`、`maxIdleTime`等。这些参数需要根据项目的具体需求和数据库服务器的负载情况进行合理设置。 4. 使用数据源:在...
- `c3p0连接池说明_枫云—我的sandy.htm`和`c3p0连接池说明_枫云—我的sandy.files`提供了关于c3p0连接池的使用说明和示例代码,可以帮助初学者快速上手。 - `tomcat5_5中c3p0配置(JNDI、hibernate配置)_快乐因你....