文档章节

C3P0

MoreYoungG
 MoreYoungG
发布于 2016/04/29 12:00
字数 1068
阅读 29
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

//导入jar包(c3p0-0.9.1.2.jar,commons-dbutils-1.3.jar)
//c3p0-config.xml(放在src目录下)
    <c3p0-config>
      //后台ComboPooledDataSource的参数
      <named-config name="Ajaxdemo"> 
        //用户名
        <property name="user">root</property>
        //密码
        <property name="password">root</property>
        //连接
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/ajaxdemo?
        auseUnicode=true&amp;characterEncoding=UTF-8</property>
        //驱动
        <property name="driverClass">com.mysql.jdbc.Driver</property>
        // 当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 
        <property name="acquireIncrement">2</property>
        //初始化时获取连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 
        <property name="initialPoolSize">5</property>
        //最小连接池的大小
        <property name="minPoolSize">5</property>
        //最大连接池的大小
        <property name="maxPoolSize">10</property>
        //JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
        //属于单个connection而不是整个连接池。所以设置这个参数需要顾忌到多方面的因素。
        //如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
        <property name="maxStatements">0</property> 
        //maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0  
        <property name="maxStatementsPerConnection">5</property>
      </named-config>
    </c3p0-config> 

//还有下面这些属性 
    //定义在从获取新连接失败后重复尝试的次数。Default: 30 
     <property name="acquireRetryAttempts">30</property>
    //两次连接中间隔时间,单位毫秒。Default: 1000 
     <property name="acquireRetryDelay">1000</property>
    //连接关闭时默认将所有未提交的操作回滚。Default: false 
     <property name="autoCommitOnClose">false</property>
    //c3p0将建一张名为Test的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么属性
    //preferredTestQuery将被忽略。你不能在这张Test表上进行任何操作,它将只供c3p0测试使用。Default: null
     <property name="automaticTestTable">Test</property>
    //获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调用
    //getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试获取连接失败后该数据源将
    //申明已断开并永久关闭。Default: false
     <property name="breakAfterAcquireFailure">false</property>
    //当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出SQLException,如设为0则
    //无限期等待。单位毫秒。Default: 0  
     <property name="checkoutTimeout">100</property>
    //通过实现ConnectionTester或QueryConnectionTester的类来测试连接。类名需制定全路径。
    //Default: com.mchange.v2.c3p0.impl.DefaultConnectionTester
     <property name="connectionTesterClassName"></property>
    //指定c3p0 libraries的路径,如果(通常都是这样)在本地即可获得那么无需设置,默认null即可Default: null
     <property name="factoryClassLocation">null</property>
    //Strongly disrecommended. Setting this to true may lead to subtle and bizarre bugs.
    //作者强烈建议不使用的一个属性 
     <property name="forceIgnoreUnresolvedTransactions">false</property>
    //每60秒检查所有连接池中的空闲连接。Default: 0  
     <property name="idleConnectionTestPeriod">60</property>
    //最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 
     <property name="maxIdleTime">60</property>
    //c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能通过多线程实现
    //多个操作同时被执行。Default: 3 
     <property name="numHelperThreads">3</property>
    //当用户调用getConnection()时使root用户成为去获取连接的用户。主要用于连接池连接非c3p0的数据源时。
    //Default: null 
     <property name="overrideDefaultUser">root</property>
    //与overrideDefaultUser参数对应使用的一个参数。Default: null
     <property name="overrideDefaultPassword">password</property>
    //定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意:
      测试的表必须在初始数据源的时候就存在。Default: null
     <property name="preferredTestQuery">select id from test where id=1</property>
    //用户修改系统配置参数执行前最多等待300秒。Default: 300  
     <property name="propertyCycle">300</property>
    //因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都将校验其有效性。
    //建议使用idleConnectionTestPeriod或automaticTestTable等方法来提升连接测试的性能。Default: false 
     <property name="testConnectionOnCheckout">false</property>
    //如果设为true那么在取得连接的同时将校验连接的有效性。Default: false 
     <property name="testConnectionOnCheckin">true</property>

//java代码获取
    private static DataSource dataSource = null;
    static{
        dataSource = new ComboPooledDataSource("Ajaxdemo").getConnection();
        //参数为named-config中的name属性
    }

 

© 著作权归作者所有

上一篇: javascript
下一篇: Ajax
MoreYoungG
粉丝 19
博文 26
码字总数 440790
作品 0
广州
私信 提问
Hibernate c3p0 数据库连接池

From :http://www.codeweblog.com/hibernate-using-c3p0-connection-pooling/ c3p0是开源JDBC连接池,Hibernate的发布版也有此功能。这篇文章描述怎样使用Hibernate来配置从c3p0。C3p0连接池...

boonya
2014/07/14
169
0
C3P0 0.9.5.2 发布,数据库连接池

C3P0 0.9.5.2 发布,此版本改进内容如下: -- Fix a bug in MLog bridge to slf4j logging, in which loggability of levels of wrapped loggers was misreported, leading to useless allo......

淡漠悠然
2015/12/10
5.7K
21
数据库连接池C3P0-0.9.2-pre3 发布

C3P0在沉寂了多年之后,终于迎来了更新,目前常用的稳定版是:0.9.1.2,现在最新版本: 0.9.2-pre2(开发版 0.9.2-pre3),C3P0的最新代码已经迁移到GitHub上了:https://github.com/swaldm...

山哥
2012/05/31
2.3K
6
关闭Tomcat时,是否要手动关闭c3p0创建出来的datasource

一个项目通过c3p0获得连接池,相关代码如下: 关闭Tomcat的时候提示: 主要是这几句: 1. 警告: The web application [uavmonitor] appears to have started a thread named [com.mchange.v2...

乐山ing
2017/02/13
630
3
C3P0的网友评论

C3P0是一个开放源代码的JDBC连接池,Hibernate的发行包中默认使用此连接池。据说性能最好。 详细的文档在C3P0的下载包中。本站提供最新版的C3P0文档,链接是: http://www.oschina.net/uploa...

红薯
2009/12/11
669
4

没有更多内容

加载失败,请刷新页面

加载更多

密码加密与微服务鉴权JWT详细使用教程

[TOC] 1.1、了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性。 什么是无状态? 1.服务端不保存任何客户端请求者信...

庭前云落
11分钟前
5
0
Xamarin.FormsShell基础教程(9)Shell相关类体系

Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类。Shell类实现了大多数应用程序所需的基本UI功能的页面。除此以外,常用的类还有ShellContent、Tab、Fly...

大学霸
12分钟前
2
0
聊聊MVC、MVP、MVVM吧

先来介绍下本文结构: 三种框架的具体概念 在安卓开发上的写法、优缺点 1.概念 1.1 MVC MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模...

二营长的意大利炮手
29分钟前
2
0
如果解释Python,什么是.pyc文件?

我已经了解Python是一种解释型语言......但是,当我查看我的Python源代码时,我看到.pyc文件,Windows将其识别为“编译的Python文件”。 这些来自哪里? #1楼 Python代码经历了两个阶段。 第...

javail
35分钟前
2
0
.NET Core初览

初览的应用场景为游戏服务器开发。所以测试在侧重点上更强于IO和密集型计算 TODO

梦想游戏人
37分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部