一、几个参数详解
(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
分享到:
相关推荐
C3P0 提供了强大的连接管理和恢复机制,特别是在网络不稳定或者数据库重启等情况发生时,可以通过配置参数来支持重连。通过设置 `acquireRetryAttempts` 和 `acquireRetryDelay` 可以控制重试次数和重试间隔,从而...
3. **自动重连策略**:当数据库服务器重启或网络中断导致连接断开时,C3P0可以通过其内置的自动重连机制尝试重新建立连接,这在一定程度上提高了系统的健壮性。 4. **配置灵活性**:C3P0允许开发者通过配置文件或...
在IT行业的数据库管理领域,C3P0是一个广泛使用的开源连接池组件,它为Java应用程序提供了高效、稳定的数据库连接管理服务。C3P0通过预维护一定数量的数据库连接,避免了频繁创建和销毁数据库连接所带来的性能开销,...
数据库连接池是现代Java应用程序中不可或缺的组件,它在提高数据库访问效率和资源管理方面扮演着重要角色。本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P...
在Spring框架中,我们可以利用C3P0连接池来管理数据库连接,提升系统的效率。下面我们将详细讲解如何引用外部文件配置C3P0连接池。 首先,我们需要了解C3P0的基本配置参数。C3P0提供了许多可调整的参数,如最小连接...
"连接池(内含dbcp c3p0)jar包" 提供了两个著名的Java数据库连接池实现:Apache DBCP(Database Connection Pool)和C3P0,这两个库的jar文件被封装在一起,便于开发者快速引入到他们的项目中。 **Apache DBCP** ...
4. **自动重连**:在网络故障或数据库重启后,驱动能自动尝试重新建立连接,提高应用的健壮性。 5. **事务支持**:提供对ACID(原子性、一致性、隔离性和持久性)事务的支持,保证数据的一致性。 6. **连接池支持**...
在Tomcat 5.5.28中,常见的数据库连接池实现有Apache Commons DBCP(描述中的"tomDbcp"可能就是指这个)和C3P0等。以下将详细介绍如何配置这些连接池。 1. **Apache Commons DBCP配置**: - **下载与导入**:首先...
尽管存在一些已知问题,如无法在数据库重启后自动重新连接,但通过适当的配置可以解决这些问题。DBCP 的主要配置参数与 C3P0 类似,包括: - maxActive:最大活动连接数 - maxIdle:最大空闲连接数 - minIdle:最小...
在生产环境中,使用连接池(如 HikariCP、C3P0 或 DBCP)管理数据库连接,可以有效提高性能和资源利用率。 总之,Java 使用 SQLite 数据库涉及到 JDBC 驱动的引入、数据库连接的建立、SQL 语句的执行、异常处理、...
5. **JDBC连接池**:在高并发环境下,使用连接池(如C3P0、HikariCP或Apache DBCP)是最佳实践,它可以提高性能并有效地管理数据库连接。在OSGI中,连接池也需要作为单独的bundle引入,并正确配置为服务,以便其他...
首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的是DBCP(Database Connection Pool)。 1. **添加依赖**: 在Tomcat6中配置DBCP连接池,需要先将DBCP的...
9. **自动重连**:在网络不稳定或数据库服务器重启时,自动尝试重新建立连接,保证应用的连续性。 在实际开发中,使用mysql-connector-java-8.0.28.jar时,开发者需要将其添加到项目的类路径中,然后通过JDBC API...
1. **连接池框架的选择**:目前主流的Java数据库连接池框架有Apache Commons DBCP、C3P0、Druid等。不同的框架有不同的特点,选择合适的框架可以更好地满足项目需求。 2. **配置参数设置**:合理设置连接池的相关...
3. **自动重连机制**:MySQL Connector/J支持在连接断开后自动尝试重新建立连接,这对于网络不稳定或服务器重启等情况非常有用。 4. **性能优化**:版本8.0.14引入了多项性能优化,例如预编译的SQL语句,批量更新...
"OPOOPress Support" 的开源项目版本1.1.0的资源包,而【描述】中的 "c3p0-play.zip,C3P0播放" 提到的是C3P0,这是一个广泛使用的Java数据库连接池组件,它与"play"框架相结合,可能用于构建高效、自动化的Web应用...
11. **自动重连**:在网络不稳定或数据库服务器重启的情况下,驱动程序能够尝试自动重新建立连接,保持应用程序的正常运行。 在实际应用中,开发者可以通过 Maven 或 Gradle 等构建工具将这个 JAR 文件作为依赖引入...
- 在应用的 META-INF\context.xml 文件中配置 C3P0 数据库连接池,指定使用 p6spy 驱动。例如: ```xml type="com.mchange.v2.c3p0.ComboPooledDataSource" driverClass="com.p6spy.engine.spy.P6SpyDriver" ...
7. **自动重连**:在网络不稳定或数据库服务重启后,能够自动重新建立连接。 8. **连接池支持**:配合第三方连接池库(如 C3P0、HikariCP、Apache DBCP 等),实现数据库连接的高效管理。 **使用步骤:** 1. **...