`
ycsk
  • 浏览: 153947 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

tomcat数据库连接池问题

阅读更多
在mysql的设置中有两个选项,主动断开空闲连接的等待时间。
wait_timeout
The number of seconds the server waits for activity on a noninteractive connection before closing it. This timeout applies only to TCP/IP and Unix socket file connections, not to connections made via named pipes, or shared memory.

interactive_timeout
The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect(). See also wait_timeout.

这样就会存在一个问题,如果你的数据库连接池没有设置判断连接是否有效,那么当程序获取连接池中的一个已经被mysql主动关闭的连接时会有抛出异常。
下面给出几个设置示例:
hibernate中的设置
    <property name="hibernate.c3p0.acquire_increment">3</property> 
    <property name="hibernate.c3p0.idle_test_period">5</property> 
    <property name="hibernate.c3p0.timeout">10000</property> 
    <property name="hibernate.c3p0.max_size">80</property> 
    <property name="hibernate.c3p0.min_size">15</property> 
    <property name="hibernate.c3p0.max_statements">0</property>
    <property name="hibernate.c3p0.preferredTestQuery">select 1;</property>

tomcat中设置数据源
testOnBorrow="true" testOnReturn="true" testWhileIdle="true" validationQuery="select 1" 
分享到:
评论
4 楼 ycsk 2010-04-30  
后来猜测是c3p0的问题,换成了dbcp,但问题仍然存在,这时候我们排除了数据库连接池的配置问题。经过我检查发现mysql的jdbc驱动用的是5.1.12,而dbcp用的是1.2.2,发现dbcp的官网上版本是有针对jdbc3和jdbc4的区别,所以决定更换了mysql的低版本的connect/J驱动,最终问题解决。
dbcp的配置如下:
                <property name="removeAbandoned" value="true" />
                <property name="removeAbandonedTimeout" value="30" />
                <property name="logAbandoned" value="true" />
                <property name="testWhileIdle" value="true" />
                <property name="testOnBorrow" value="true" />
                <property name="testOnReturn" value="true"/>
                <property name="validationQuery" value="SELECT 1" />
3 楼 ycsk 2010-04-29  
hibernate c3p0数据库连接池还是报错,实在是找不出原因了。
2 楼 ycsk 2010-04-28  
c3p0配置参数文档:http://community.jboss.org/wiki/HowToconfiguretheC3P0connectionpool
1 楼 ycsk 2010-04-28  
这里有一个需要注意的地方,就是hibernate.c3p0.idle_test_period必须小于mysql的wait_timeout设置。

相关推荐

    tomcat数据库连接池的使用

    总结来说,Tomcat数据库连接池的使用涉及添加依赖、配置数据源、上下文配置以及代码中的使用。理解并正确配置这些环节,能帮助Java开发者充分利用连接池的优势,提高应用的运行效率。同时,根据实际需求选择合适的...

    tomcat数据库连接池设置

    Tomcat 数据库连接池设置 Tomcat 数据库连接池是一种高效的数据库连接管理机制,它能够帮助开发者快速建立和管理数据库连接,提高应用程序的性能和可靠性。在本文中,我们将详细介绍 Tomcat 数据库连接池的设置过程...

    TOMCAT数据库连接池配置说明文档

    《TOMCAT数据库连接池配置详解》 TOMCAT数据库连接池配置是Java Web开发中不可或缺的一环,它能够有效地管理和优化数据库连接,提高系统性能。以下是对TOMCAT数据库连接池配置的详细说明。 首先,你需要下载TOMCAT...

    tomcat数据库连接池配置网上文章&csdn上的代码.rar

    tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上文章&csdn上的代码tomcat数据库连接池配置网上...

    tomcat数据库连接池配置

    ### Tomcat 数据库连接池配置详解 在Java Web开发中,Tomcat作为一款广泛使用的应用服务器,其数据库连接池配置是十分重要的一个环节。合理的配置能够显著提高应用程序的性能和稳定性。本文将以MySQL数据库为例,...

    Tomcat数据库连接池

    配置Tomcat数据库连接池的常见问题包括:连接泄露、连接池溢出、连接超时等。这些问题可以通过调整连接池参数、定期检查和优化SQL语句、监控系统资源使用情况等手段来解决。 在压缩包文件中,可能包含这些数据库...

    Tomcat数据库连接池的配置方法总结.docx

    Tomcat数据库连接池的配置方法总结 Tomcat数据库连接池的配置方法总结是一种关键的有限的昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这...

    Tomcat5的数据库连接池配置Tomcat5的数据库连接池配置

    本文将详细介绍如何在Tomcat5.0.25版本下配置数据库连接池,并通过具体的步骤、代码示例以及常见问题的解决策略,帮助开发者更好地理解和掌握这一技术。 #### 配置环境与准备 配置环境包括: - **Tomcat版本**:...

    tomcat 数据库连接池配置的jar包

    在Tomcat中实现数据库连接池,主要依赖于两个Apache Commons库:`commons-dbcp.jar`和`commons-pool.jar`。 `commons-dbcp.jar`是Apache Commons Database Connection Pooling(DBCP)的实现,它提供了一个数据库...

    tomcat数据库连接池配置.TXT

    tomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXTtomcat数据库连接池配置.TXT

    Tomcat服务器配置及数据库连接池配置(个人整理版)

    ### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...

    Tomcat连接池配置.doc

    在 Web 应用程序中,数据库连接池是必不可少的组件,它可以大大提高数据访问的速度和安全性。Tomcat 连接池配置可以帮助开发者更好地管理和维护数据库连接,从而提高应用程序的性能和可靠性。 二、Tomcat 连接池...

    Tomcat数据库连接池配置

    Tomcat数据库连接池 几种常见的配制方法

    tomcat_连接池数据库密码加密解密方法

    其中,数据库连接池作为应用程序与数据库之间的桥梁,扮演着关键角色。然而,当数据库的用户名和密码直接硬编码在配置文件(如Tomcat的`server.xml`)中时,这些敏感信息容易被泄露,从而构成安全隐患。因此,实现...

    如何设置TOMCAT数据库连接池

    ### 如何设置TOMCAT数据库连接池 #### 一、理解数据库连接池 数据库连接池是一种用于管理数据库连接的技术,可以提高应用程序访问数据库的效率。通过预先创建一定数量的数据库连接,并将这些连接保存在一个“池”...

    tomcat数据库连接池

    支持tomcat服务器的数据库连接池,用于jdbc桥连接

    Tomcat数据库连接池的配置和实例

    ### Tomcat数据库连接池的配置和实例 #### 一、引言 在现代Web应用开发中,数据库连接池是一项至关重要的技术。它能够显著提高应用程序的性能和响应速度,通过复用已经建立好的数据库连接来避免频繁创建和销毁连接...

    tomcat6.0数据库连接池驱动

    Tomcat 6.0数据库连接池驱动的使用,涉及到的主要知识点包括:数据库连接池的概念与作用,Tomcat内置的数据源实现(DBCP和C3P0),数据源的配置方法,JNDI的使用,以及在Java代码中获取和释放数据库连接。...

    TOMCAT中数据库连接池的几种配置方法_TOMCAT中数据库连接池的几种配置方法_

    在Java Web应用中,Tomcat作为一款广泛应用的Servlet容器,其数据库连接池的配置是开发者必须掌握的关键技能。本文将详细讲解在Tomcat中配置数据库连接池的几种常见方法,帮助开发者实现高效、稳定的数据库访问。 ...

Global site tag (gtag.js) - Google Analytics