`

让Proxool连接池支持自动重连接

阅读更多

   项目使用的连接池是Proxool,功能相当强大,不过今天遇到一个问题,如果连接池在运行当中,出现网络或者数据库故障而无法连接到数据库,在恢复正常以后,由于连接是在连接池中持久保存的,会出现连接仍然不可用的情况,这时连接池里的连接实际上都是坏连接,怎么让连接池可以自动重连清除这些坏连接呢?

    在网上搜了半天,有不少人问这个问题,但不是没人回答就是讲了一堆如何配置,没说怎么才能自动重连接。经过查官方文档的配置参数和测试,发现其实只要配置了test-before-use 参数,即每次取出连接都检查连接是否可用,就可以做到让连接池实现在故障恢复后自动重连接。实例配置文件如下:(红色的部分)

<proxool>
    <alias>pool</alias>
    <driver-url> jdbc:mysql://localhost:3306/cds </driver-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <driver-properties>
        <property name="user" value="vcom" />
        <property name="password" value="vcom" />
       
<property name="autoReconnect" value="true" />
    </driver-properties>
    <minimum-connection-count>1</minimum-connection-count>
    <maximum-connection-count>8</maximum-connection-count>
    <prototype-count>1</prototype-count>
    <test-before-use>true</test-before-use>
    <house-keeping-sleep-time>60000</house-keeping-sleep-time> 
    <house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
</proxool>

需要注意一点,对于Mysql数据库还必须在连接参数里加上autoReconnect=true 参数,否则即使打开了test-before-use 参数,仍然不能重连接!

 

 

 

 

分享到:
评论
2 楼 tdqing 2011-01-13  
yuguo007 写道
请问楼主,你测试了这样配置上成功的吗,我也是同样的配置,但是配置了proxool的监控显示 <test-before-use>参数是false的。

我用的oracle测试的,设置了autoReconnect=true但是没设置test-before-use,结果是没问题的。
1 楼 yuguo007 2011-01-13  
请问楼主,你测试了这样配置上成功的吗,我也是同样的配置,但是配置了proxool的监控显示 <test-before-use>参数是false的。

相关推荐

    proxool连接池用户名密码加密

    总之,"proxool连接池用户名密码加密"是一个重要的安全实践,通过加密数据库连接的凭证,我们可以提高系统的安全性,保护数据免受未经授权的访问。正确地配置和使用这个功能,可以确保在享受数据库连接池带来的性能...

    proxool连接池使用详细说明

    Proxool连接池是数据库连接管理的一种解决方案,它允许应用程序高效地管理和复用数据库连接,以提高系统的性能和响应速度。下面将详细讲解Proxool连接池的使用方法及其核心概念。 1. **Proxool简介** Proxool是...

    proxool连接池配置

    -- 连接池的别名 --&gt; &lt;alias&gt;DBPool&lt;/alias&gt; - &lt;!-- proxool只能管理由自己产生的连接 --&gt; &lt;driver-url&gt;jdbc:sqlserver://localhost:1433;dataBaseName=books&lt;/driver-url&gt; - &lt;!-- JDBC驱动程序 --&gt; ...

    proxool连接池配置详解

    ### Proxool连接池配置详解 #### 一、概述 Proxool是一个开源的轻量级Java数据库连接池实现,其主要目标是替代常见的数据库连接池解决方案,如C3P0或DBCP,并且提供了更加灵活和易于配置的特性。在实际应用中,...

    Spring+Hibernate+Proxool连接池

    标题 "Spring+Hibernate+Proxool连接池" 涉及到的是在Java Web开发中,如何使用Spring框架集成Hibernate ORM框架,并结合Proxool作为数据库连接池的技术实践。这通常是为了提高应用性能,有效管理和复用数据库连接,...

    ssh2简单案例,注解+proxool连接池+sf4j记录日志

    在这个"ssh2简单案例"中,我们将探讨如何结合注解、Proxool连接池和SF4J日志记录来构建一个SSH2注册登录系统。 首先,SSH2在Java中的实现通常通过JSch库来完成。JSch允许开发者在Java程序中执行命令、传输文件以及...

    Proxool连接池jar包

    Proxool连接池是数据库连接管理的一个开源工具,它提供了一种高效且灵活的方式来管理和复用数据库连接,以提升应用程序的性能和响应速度。在Java应用程序中,尤其是在高并发环境下,数据库连接池扮演着至关重要的...

    基于ssh的proxool连接池配置

    下面我们将深入探讨基于SSH的Proxool连接池配置。 首先,配置环境:MyEclipse5.5,Windows 2003操作系统,Oracle和MySQL数据库。在这样的环境中,Proxool连接池可以帮助我们更高效地管理数据库连接,提高应用程序的...

    ssh小框架(proxool连接池)

    **Proxool连接池**:Proxool是数据库连接池的一种实现,它的主要作用是管理数据库连接,减少创建和销毁连接的开销。当多个用户请求数据库连接时,Proxool会复用已存在的连接,而不是每次请求都新建一个。这大大提高...

    proxool.jar包,proxool连接池用到的两个jar包

    - **连接池配置**:Proxool支持通过XML配置文件灵活地设置连接池参数,如最大连接数、超时时间、空闲检测间隔等。 - **透明化使用**:Proxool遵循JDBC接口,因此对应用程序来说,使用连接池与直接使用数据库连接...

    关于proxool数据库连接池的配置集合

    数据库连接池是现代应用程序开发中的重要组成部分,它有效地管理和复用数据库连接,从而提高...通过深入理解和实践Proxool的各项配置,开发者可以更好地掌控数据库连接池,为应用程序提供高效、可靠的数据库访问支持。

    proxool连接池

    ### Proxool连接池知识点详解 #### 一、Proxool连接池简介 Proxool是一个轻量级的Java数据库连接池实现,它能够管理多个数据源,并为每个数据源维护一个连接池。通过Proxool,应用程序可以高效地复用数据库连接,...

    hibernate与proxool连接池整合demo

    本文将详细讲解如何将Hibernate与Proxool连接池整合,以实现更高效的数据访问。 1. Hibernate简介: Hibernate是一个开源的ORM框架,它提供了一种在Java应用程序中操作数据库的方式,无需编写大量的SQL语句。通过...

    JAVA数据库连接池proxool

    `proxool-cglib.jar`和`proxool-0.9.1.jar`是Proxool连接池的两个核心组件。`proxool-cglib.jar`包含了CGLIB(Code Generation Library),这是一个强大的代码生成库,常用于动态代理和增强Java类。在Proxool中,...

    java连接池proxool

    Java连接池,特别是Proxool,是数据库管理中一个至关重要的概念,它提高了数据库操作的效率和性能。连接池在Java应用程序中起着桥梁的作用,它管理数据库连接,避免了频繁创建和销毁连接的开销。Proxool是Apache软件...

    Struts2+spring+hibernate中的proxool连接池配置

    本文将详细介绍如何在Struts2+Spring+Hibernate的环境中配置Proxool连接池。 首先,理解Proxool的工作原理。Proxool是一个基于池化的JDBC代理,它维护着一个数据库连接池,当应用需要访问数据库时,可以从池中获取...

Global site tag (gtag.js) - Google Analytics