`
zhengyang_003
  • 浏览: 12387 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

c3p0配置参数说明

 
阅读更多
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各种框架配置参数使用方法以及注释 C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和 jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

    丑牛迷你采集器2.0

    系统是基于 Swing+Spring-3.1.1+Mybatis-3.1.1+C3p0-0.9.1.2+Sqlite等技术实现的。 采用插件式开发模式,各大功能模块均可独出来,功能与系统UI对立,可配置性较强。 三:功能概述 1:我的丑牛:系统信息及插件信息...

    一个开源的Java基础工具包

    使用C3P0则需要参考c3p0-config-example.xml创建${classpath}/c3p0-config.xml来调节C3P0参数 此时即可调用C3p0Ds.getDataSource()或DruidDs.getDataSource()方法获得默认的数据源 如果要自定义数据库配置文件的...

    数据库课设,java课设都可用,小型超市商品管理系统 课程设计

    4、修改项目根目录下的c3p0-config.xml的配置文件: &lt;property name="driverClass"&gt;com.mysql.jdbc.Driver&lt;/property&gt; &lt;property name="jdbcUrl"&gt;jdbc:mysql://localhost:3306/supermarketdb ...

    微软活动目录管理管理简明手册

    1 N6 f7 Q+ p: _0 L: e0 n2 n5 o7 g1 y 下表中给出了标识名,客户建立的搜索内容和相对标识名的具体的例子。 ( `/ b$ c$ Q: f5 G1 h5 j6 t4 x' X! J& K/ L (^60090102b^) - o; a/ R( W" Q( H+ w7 W' e$ n# [' z7 S ...

    基于SSM架构实现的大型分布式购物网站-B2C项目源码+项目说明.zip

    Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。 Druid已经在阿里巴巴部署了超过600个应用,经过多年多生产环境大规模...

    串口测试工具

    参数P字段:以16进制直接写入,软件自动计算参数所占字节数,将存入变量P1、P2、P3……格式中。 数据D字段:这里只选择数据所占的字节数,数据的内容在后面的Dt框中填入,并将数据存入到变量Dt中。 校验C字段:这里...

    oracle asm rac

    分别配置eth0和eth1(我们只演示node1的配置,node2也配置成相应的IP) 保存退出 重启使配置生效 3、关闭没必要的服务 chkconfig autofs off chkconfig acpid off chkconfig sendmail off chkconfig cups-...

    UltrEdit 14.20.1 + UltraCompare 6.0 + 注册机

    8-7:补充:如果要编译链接生成DLL文件,把编译命令改为: cl %n%e /LD ,需要说明的是,生成exe文件的命令和生成dll文件的命令不能相互换用,所以,如果在utraledit下经常性地开发dll程序的话,还得再创建个编译dll...

    java开源包1

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包11

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包2

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包3

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包6

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包5

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包10

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包4

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包8

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包7

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

    java开源包9

    BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用...

Global site tag (gtag.js) - Google Analytics