`

java中c3p0数据库重启后自动重连配置

 
阅读更多

一、几个参数详解

(1)breakAfterAcquireFailure

如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。

如果设为false,获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调用getConnection()的时候继续尝试获取连接。

 

(2)testConnectionOnCheckin

如果设为true,那么在取得连接的同时将校验连接的有效性。性能消耗大。

 

(3)idleConnectionTestPeriod

每X秒检查所有连接池中的空闲连接。

 

二、application.xml文件中的c3p0配置

 

<bean id="dataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource"
		destroy-method="close">
		<property name="automaticTestTable" value="CONNECTION_TEST" />
		<property name="testConnectionOnCheckout" value="true" />
		<property name="acquireRetryAttempts" value="5" />
		<property name="driverClass">
			<value>${CHECK_ST_ORL_driverClassName}</value>
		</property>
		<property name="jdbcUrl">
			<value>${CHECK_ST_ORL_URL}</value>
		</property>
		<property name="user">
			<value>${CHECK_ST_ORL_USER}</value>
		</property>
		<property name="password">
			<value>${CHECK_ST_ORL_PASSWD}</value>
		</property>

		<property name="minPoolSize">
			<value>30</value>
		</property>
		<property name="maxPoolSize">
			<value>100</value>
		</property>
		<property name="initialPoolSize">
			<value>30</value>
		</property>
		<property name="maxConnectionAge">
			<value>1800</value>
		</property>
		<property name="maxIdleTime">
			<value>1800</value>
		</property>
		<property name="maxIdleTimeExcessConnections">
			<value>300</value>
		</property>
		<property name="maxStatements">
			<value>0</value>
		</property>
		<property name="testConnectionOnCheckin">
			<value>false</value>
		</property>
		<property name="idleConnectionTestPeriod">
			<value>60</value>
		</property>
		<property name="checkoutTimeout">
			<value>1000</value>
		</property>
		<property name="breakAfterAcquireFailure">
            <value>false</value>
        </property> 
	</bean>
 

 

三、测试详情

 

 

breakAfterAcquireFailure

testConnectionOnCheckin

idleConnectionTestPeriod

oracle

mysql

false

false

900

x

v

true

false

900

x

v

false

true

900

v

v

true

true

900

x

v

false

false

60

v

v

true

false

60

x

x

false

true

60

v

v

true

true

60

x

x

 

 

四、结论

 

breakAfterAcquireFailure设为false

 

testConnectionOnCheckin 设为false

 

idleConnectionTestPeriod 设为60

 

分享到:
评论

相关推荐

    java_数据库连接池_c3p0_使用及参数详解_支持重连

    C3P0 提供了强大的连接管理和恢复机制,特别是在网络不稳定或者数据库重启等情况发生时,可以通过配置参数来支持重连。通过设置 `acquireRetryAttempts` 和 `acquireRetryDelay` 可以控制重试次数和重试间隔,从而...

    C3P0的jar包

    3. **自动重连策略**:当数据库服务器重启或网络中断导致连接断开时,C3P0可以通过其内置的自动重连机制尝试重新建立连接,这在一定程度上提高了系统的健壮性。 4. **配置灵活性**:C3P0允许开发者通过配置文件或...

    c3p0连接池参数配置

    在IT行业的数据库管理领域,C3P0是一个广泛使用的开源连接池组件,它为Java应用程序提供了高效、稳定的数据库连接管理服务。C3P0通过预维护一定数量的数据库连接,避免了频繁创建和销毁数据库连接所带来的性能开销,...

    c3p0、proxool、dbcp数据库连接池

    数据库连接池是现代Java应用程序中不可或缺的组件,它在提高数据库访问效率和资源管理方面扮演着重要角色。本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P...

    引用外部文件配置C3P0连接池.zip

    在Spring框架中,我们可以利用C3P0连接池来管理数据库连接,提升系统的效率。下面我们将详细讲解如何引用外部文件配置C3P0连接池。 首先,我们需要了解C3P0的基本配置参数。C3P0提供了许多可调整的参数,如最小连接...

    连接池(内含dbcp c3p0)jar包

    "连接池(内含dbcp c3p0)jar包" 提供了两个著名的Java数据库连接池实现:Apache DBCP(Database Connection Pool)和C3P0,这两个库的jar文件被封装在一起,便于开发者快速引入到他们的项目中。 **Apache DBCP** ...

    mysql-connector-java-5.0.8-bin 连接mysql数据库的驱动jar包

    4. **自动重连**:在网络故障或数据库重启后,驱动能自动尝试重新建立连接,提高应用的健壮性。 5. **事务支持**:提供对ACID(原子性、一致性、隔离性和持久性)事务的支持,保证数据的一致性。 6. **连接池支持**...

    tomcat 5.5.28配置数据库连接池

    在Tomcat 5.5.28中,常见的数据库连接池实现有Apache Commons DBCP(描述中的"tomDbcp"可能就是指这个)和C3P0等。以下将详细介绍如何配置这些连接池。 1. **Apache Commons DBCP配置**: - **下载与导入**:首先...

    java hibernate中各种连接池比较

    尽管存在一些已知问题,如无法在数据库重启后自动重新连接,但通过适当的配置可以解决这些问题。DBCP 的主要配置参数与 C3P0 类似,包括: - maxActive:最大活动连接数 - maxIdle:最大空闲连接数 - minIdle:最小...

    java使用slite数据库相关包

    在生产环境中,使用连接池(如 HikariCP、C3P0 或 DBCP)管理数据库连接,可以有效提高性能和资源利用率。 总之,Java 使用 SQLite 数据库涉及到 JDBC 驱动的引入、数据库连接的建立、SQL 语句的执行、异常处理、...

    关于OSGI分布式开发简单连接数据库

    5. **JDBC连接池**:在高并发环境下,使用连接池(如C3P0、HikariCP或Apache DBCP)是最佳实践,它可以提高性能并有效地管理数据库连接。在OSGI中,连接池也需要作为单独的bundle引入,并正确配置为服务,以便其他...

    tomcat6配置数据库连接池代码

    首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的是DBCP(Database Connection Pool)。 1. **添加依赖**: 在Tomcat6中配置DBCP连接池,需要先将DBCP的...

    mysql-connector-java-8.0.28 jar包

    9. **自动重连**:在网络不稳定或数据库服务器重启时,自动尝试重新建立连接,保证应用的连续性。 在实际开发中,使用mysql-connector-java-8.0.28.jar时,开发者需要将其添加到项目的类路径中,然后通过JDBC API...

    基于java的数据库连接池技术的设计与实现

    1. **连接池框架的选择**:目前主流的Java数据库连接池框架有Apache Commons DBCP、C3P0、Druid等。不同的框架有不同的特点,选择合适的框架可以更好地满足项目需求。 2. **配置参数设置**:合理设置连接池的相关...

    mysql-connector-java-8.0.14.zip

    3. **自动重连机制**:MySQL Connector/J支持在连接断开后自动尝试重新建立连接,这对于网络不稳定或服务器重启等情况非常有用。 4. **性能优化**:版本8.0.14引入了多项性能优化,例如预编译的SQL语句,批量更新...

    opoopress-support-1.1.0.zip

    "OPOOPress Support" 的开源项目版本1.1.0的资源包,而【描述】中的 "c3p0-play.zip,C3P0播放" 提到的是C3P0,这是一个广泛使用的Java数据库连接池组件,它与"play"框架相结合,可能用于构建高效、自动化的Web应用...

    mysql-connector-java-8.0.20.zip

    11. **自动重连**:在网络不稳定或数据库服务器重启的情况下,驱动程序能够尝试自动重新建立连接,保持应用程序的正常运行。 在实际应用中,开发者可以通过 Maven 或 Gradle 等构建工具将这个 JAR 文件作为依赖引入...

    用 p6spy 来观察 Java 程序中执行的所有 SQL 语句.docx

    - 在应用的 META-INF\context.xml 文件中配置 C3P0 数据库连接池,指定使用 p6spy 驱动。例如: ```xml type="com.mchange.v2.c3p0.ComboPooledDataSource" driverClass="com.p6spy.engine.spy.P6SpyDriver" ...

    mysql-connector-java-5.1.39

    7. **自动重连**:在网络不稳定或数据库服务重启后,能够自动重新建立连接。 8. **连接池支持**:配合第三方连接池库(如 C3P0、HikariCP、Apache DBCP 等),实现数据库连接的高效管理。 **使用步骤:** 1. **...

Global site tag (gtag.js) - Google Analytics