`

C3P0参数的使用(1)

    博客分类:
  • Java
阅读更多
基础的连接池配置
initialPoolSize, minPoolSize, maxPoolSize定义了连接池中连接的数量。请确保minPoolSize<=maxPoolSize。不合理的initialPoolSize会被忽略,并且使用minPoolSize会取代它。在minPoolSize和maxPoolSize之间,根据使用模式的变化,连接池中连接的数量会有变化。无论何时,没有连接可用,并且连接池中的连接数量没有达到maxPoolSize,连接数量都会增加。因为获得连接是非常慢的,快速或者批量增加连接数几乎总是非常有用的;而不是负载增加时,强迫每个客户端等待新的连接。acquireIncrement定义了当耗尽连接之后,连接池将会尝试获得新连接的数量(不管acquireIncrement怎么设置,连接池都不会允许超出maxPoolSize)。
无论何时,连接池测试一个连接并且发现它是被破坏的,或者在设置空闲时间之后连接超时,或者连接太老,连接池中的连接都会减少。

管理连接池的大小和连接的年龄
不同的应用有不同的需要,需要在性能、规模和可靠性之间权衡。C3P0提供了广泛的选项来控制很大的连接数还原到minPoolSize,并且在连接池中“老”的连接被积极地替换来维护它们的可靠性。
默认情况下,连接池绝不会使连接过期。如果你为了维持连接的“新鲜”,你希望连接随着时间的推移而过期,那就设置maxIdleTime并且/或者maxConnectionAge。maxIdleTime定义了在从连接池中扑杀之前,一个连接可以有多少秒不被使用。maxConnectionAge强迫连接池扑杀任何的连接,这些连接来源于数据库并且超过了设置的秒数。
maxIdleTimeExcessConnections是关于当连接池在负载之下时,最小化被C3P0连接池拥有的连接数目。默认情况下,C3P0连接池在负载下增长,但只能收缩如果连接测试失败或者通过上面秒数的参数后超时。一些人想要在峰值之后,他们的连接池快速释放不必要的连接。你能通过设置maxIdleTimeExcessConnections为一个比maxIdleTime短的值,如果连接超过了特定的时间,强迫连接在你设置的最小值之后释放它。
关于这些超时参数,有一些通用的建议:慢下来。连接池经历了仅仅一次取得连接的花销,然后复用它们许多次。大多数数据库支持连接打开数小时。几秒钟或者几分钟不需要搅动连接。设置maxConnectionAge或者maxIdleTime为1800秒(30分钟)是非常有挑战性的。对于大多数数据库,几小时也许是正确的。通过测试它们,你能保证连接的可靠性,而不是摔开它们。maxIdleTimeExcessConnections应该被设置为几分钟或者更少。


分享到:
评论

相关推荐

    C3P0 使用详细说明

    1. 创建数据源:使用C3P0提供的`com.mchange.v2.c3p0.ComboPooledDataSource`类来创建数据源对象,通过setter方法设置配置参数。 ```java ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds....

    C3P0使用所需要的jar包

    在Java应用程序中,C3P0可以帮助我们更有效地管理和使用数据库连接,避免频繁创建和关闭连接导致的性能损失。下面将详细介绍C3P0的核心功能、配置以及与MySQL数据库的结合使用。 C3P0的主要功能包括: 1. **连接池...

    C3P0连接池参数配置

    在实际应用中,通常会通过Spring框架的DataSource配置或者直接在C3P0的配置文件(如c3p0.properties或通过代码设置)中进行这些参数的设定。例如: ```xml &lt;bean id="dataSource" class="com.mchange.v2.c3p0....

    hibernate c3p0 数据库连接池参数详解.txt

    ### Hibernate C3P0 数据库连接池参数详解 在企业级应用开发中,数据库连接池技术扮演着极其重要的角色,它能显著提高系统的性能并优化资源管理。Hibernate 作为 Java 领域中最流行的 ORM(对象关系映射)框架之一...

    c3p0-0.9.2-pre1

    c3p0-0.9.2-pre1是其在2007年发布的一个版本,尽管现在有更新的版本,但这个老版本在一些旧项目中仍然被广泛使用。本文将深入探讨c3p0的基本原理、配置和使用方法。 **一、c3p0简介** 1. **功能特性**:c3p0提供...

    C3P0连接池配置需要的jar包

    C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`hibernate-c3p0-4.0.0.Final[1].jar`以及`mchange-commons-java-0.2.3.4.jar`。 1. **c3p0-0.9.2.1.jar**: 这是C3P0的主要库文件,包含了C3P0的...

    c3p0所依赖的jar包

    1. c3p0-core.jar:这是C3P0的核心库,包含了所有连接池相关的类和接口。 2. mysql-connector-java.jar:或其他数据库驱动,如PostgreSQL、Oracle等,用于与特定数据库建立连接。 3. mchange-commons-java.jar:C3P0...

    c3p0-0.9.5.1

    在使用C3P0时,开发者通常会在项目中引入c3p0-0.9.5.1.jar,然后在配置文件(如`persistence.xml`或自定义的配置文件)中配置C3P0连接池的相关参数。这些参数包括数据源的初始和最大连接数、测试查询、超时时间等。 ...

    c3p0连接池jar包

    1. 连接池管理:C3P0通过初始化配置参数,如最小连接数、最大连接数等,动态地管理数据库连接池。当应用程序需要数据库连接时,可以从池中获取;使用完毕后,连接会返回到池中,供其他线程复用。 2. 自动检测与回收...

    c3p0的使用

    1. **添加依赖**:首先需要将 c3p0 的 jar 包(如 `c3p0-0.9.1.2.jar`)添加到项目的类路径中。 2. **配置数据源**:在配置文件(通常是 `persistence.xml` 或者自定义的配置文件)中配置 c3p0 数据源,包括数据库...

    C3P0相关的JAR包

    在应用中使用C3P0,通常需要在配置文件(如`persistence.xml`或自定义的配置文件)中设置相关参数,包括最小连接数、最大连接数、初始化连接数、超时时间等。例如: ``` &lt;property name="c3p0....

    C3P0连接池参数配置.doc

    1. `acquireIncrement`:当连接池中的连接耗尽时,C3P0 会一次尝试获取的连接数。默认值是 3。增加这个值可以更快地扩大连接池,但可能会增加数据库服务器的压力。 2. `acquireRetryAttempts`:在获取新连接失败后...

    c3p0的jar包

    C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供数据库连接的高效管理,以优化数据库应用程序的性能和资源利用。C3P0的设计目标是为了满足...

    c3p0连接池参数配置

    1. **acquireIncrement**:当连接池中的可用连接数量低于最小阈值时,C3P0会一次性增加此参数指定数量的连接。默认值为3,这意味着每次增加3个连接。根据应用的并发需求,可以适当调整此参数,以减少连接创建的频率...

    c3p0用法步骤

    在使用C3P0前,首先需要配置`init.properties`文件,该文件包含了数据库连接的基本参数,例如: - `datasource.type`:指定数据源类型,在此例中为MySQL。 - `driverClassName`:数据库驱动类名,这里是`...

    springMVC整合C3P0连接池

    总之,整合SpringMVC和C3P0连接池可以提升应用的数据库操作性能,通过合理配置C3P0参数,可以进一步优化连接池的使用,降低资源消耗。同时,结合Spring的其他组件,如JdbcTemplate,可以简化数据库操作,让代码更易...

    c3p0-0.9.2.1 jar包.rar

    1. **连接池管理**:C3P0会维护一个数据库连接池,当应用程序需要访问数据库时,可以从池中获取一个已存在的连接,而不是每次都去创建新的连接。当操作完成后,连接会被归还到池中,等待下一次使用,而非立即关闭。 ...

    数据库连接池c3p0jar包

    1. **连接初始化**:当应用程序启动时,C3P0会根据配置参数预先创建一定数量的数据库连接,放入连接池。 2. **连接获取**:当需要访问数据库时,应用程序从连接池中借用一个连接,而不是直接创建新的连接。 3. **...

    C3P0用到的jar包和配置文件.zip

    使用C3P0连接池时,你需要在应用程序中引入这些jar包,并在配置文件中设定合适的参数。在你的博客文章(链接已提供)中,你应该会详细介绍如何集成C3P0,包括如何在代码中创建数据源,如何加载配置文件,以及如何在...

Global site tag (gtag.js) - Google Analytics