`

tomcat jndi数据库连接池

阅读更多
tomcat jndi数据库连接池


1. 在tomcat服务器目录下面的conf中找到一个叫Context.xml的配置文件,在其中加入以下代码:
<Resource name="jdbc/books" 
auth="Container"type="javax.sql.DataSource" maxActive="100" 
maxIdle="30" maxWait="10000" username="sa" password="120010" 
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
url="jdbc:sqlserver://localhost:1433;DatabaseName=news"/>

参数含义: JNDI (java naming and directory interface): Java 命名和目录接口.

maxActive="100"

表示并发情况下最大可从连接池中获取的连接数。如果数据库不是单独,供一个应用使用,通过设置maxActive参数可以避免某个应用无限制的获取连接对其他应用造成影响,如果一个数据库只是用来支持一个应用那么maxActive理论上可以设置成该数据库可以支撑的最大连接数。maxActive只是表示通过连接池可以并发的获取的最大连接数。连接的获取与释放是双向,当应用程序并发请求连接池时,连接池就需要从数据库获取连接,那么但应用程序使用完连接并将连接归还给连接池时,连接池是否也同时将连接归还给数据库呢?很显然答案是否定的,如果那样的话连接池就变得多此一举,不但不能提高性能,反而会降低性能,那么但应用成归还连接后,连接池如何处理呢?

maxIdle="30"

如果在并发时达到了maxActive=100,那么连接池就必须从数据库中获取100个连接来供应用程序使用,当应用程序关闭连接后,由于maxIdle=30,因此并不是所有的连接都会归还给数据库,将会有30个连接保持在连接池种中,状态为空闲。

minIdle=”2”

最小默认情况下并不生效,它的含义是当连接池中的连接少有minIdle,系统监控线程将启动补充功能,一般情况下我们并不启动补充线程。
问题:如何设置maxActive和maxIdle?
理论上讲maxActive应该设置成应用的最大并发数,这样一来即便是在最大并发的情况下,应用依然能够从连接池中获取连接,但是困难时的是我们很难准确估计到最大并发数,设置成最大并发数是一种最优的服务质量保证,事实上,如果某个用户登录提示系统繁忙,那么在他再次登录时,可能系统资源已经充足,对于拜特资金管理系统我们建议将maxActive设置为系统注册人数的十分之一到二十分之一之间。例如系统的注册人数为1000,那么设置成50-100靠近100的数字,例如85或90。

maxIdle对应的连接,实际上是连接池保持的长连接,这也是连接池发挥优势的部分,理论上讲保持较多的长连接,在应用请求时可以更快的响应,但是过多的连接保持,反而会消耗数据库大量的资源,因此maxIdle也并不是越大越好,同上例我们建议将 maxIdle设置成
50-100中靠近50的数字,例如55。这样就能在兼顾最大并发同时,保持较少的数据库连接,而且在绝大多情况,能够为应用程序提供最快的相应速度。

removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"

有时粗心的程序编写者在从连接池中获取连接使用后忘记了连接的关闭,这样连池的连接就会逐渐达到maxActive直至连接池无法提供服务。现代连接池一般提供一种“智能”的检查,但设置了removeAbandoned="true"时,当连接池连接数到达(getNumIdle() < 2) and (getNumActive() > getMaxActive() - 3)时便会启动连接回收,那种活动时间超过removeAbandonedTimeout="60"的连接将会被回收,同时如果logAbandoned="true"设置为true,程序在回收连接的同时会打印日志。removeAbandoned是连接池的高级功能,理论上这中配置不应该出现在实际的生产环境,因为有时应用程序执行长事务,可能这种情况下,会被连接池误回收,该种配置一般在程序测试阶段,为了定位连接泄漏的具体代码位置,被开启,生产环境中连接的关闭应该靠程序自己保证。
分享到:
评论

相关推荐

    JNDI数据库连接池

    总之,JNDI数据库连接池是Java应用中管理数据库连接的关键技术,通过Tomcat和MySQL的配合,可以构建出高效、稳定的数据库访问层。理解和熟练运用JNDI连接池对于任何Java开发人员来说都是非常重要的技能。

    jndi 数据库连接池 & 监听

    本资源包含对JNDI数据库连接池的详细讲解,以及监听器的代码实例和讲解资料,旨在帮助开发者更好地理解和应用这些技术。JNDI主要通过以下步骤实现数据库连接的管理: 1. **配置JNDI数据源**:在应用服务器(如...

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

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

    tomcat6.0数据库连接池驱动

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

    tomcat数据库连接池的使用

    在Java开发中,Tomcat作为一款广泛使用的应用服务器,提供了对数据库连接池的支持,使得应用程序可以高效、便捷地管理数据库连接。本文将详细介绍如何在Tomcat中配置和使用数据库连接池,以及相关的知识点。 首先,...

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

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

    tomcat配置数据库连接池

    本篇将详细介绍如何在Tomcat中配置数据库连接池,以实现对数据库资源的有效管理和复用。 一、数据库连接池原理 数据库连接池在初始化时会创建一定数量的数据库连接,并将其存储在内存中。当应用程序需要连接数据库...

    Tomcat配置数据库连接池

    本文将详细讲解如何在Tomcat服务器上配置数据库连接池,以及为何需要使用它。 首先,我们来理解“连接池”是什么。连接池,即Connection Pool,是一种管理数据库连接资源的技术。它允许程序在需要时从池中获取一个...

    Tomcat中数据库连接池的配置和使用

    ### Tomcat中数据库连接池的配置与使用 #### 一、引言 在现代Web应用开发中,数据库连接管理是一项非常重要的任务。由于数据库连接是一种昂贵的资源,因此合理管理和复用这些连接对于提高应用程序性能至关重要。...

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

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

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

    ### Tomcat5的数据库连接池配置详解 #### 引言 在Java Web开发中,数据库连接池是一项关键的技术,能够显著提升应用性能和资源利用效率。对于Tomcat5这一历史较为悠久但依然在某些场景中活跃的服务器软件,正确...

    tomcat中数据库连接池代码压缩包

    本压缩包文件"tomcat中数据库连接池代码"很可能是关于如何在Tomcat中配置和使用数据库连接池的源码示例,这对于理解和实践Tomcat的高级配置非常有帮助。 1. **什么是数据库连接池**: 数据库连接池是在应用服务器...

    tomcat中配置数据库连接池

    Tomcat 中配置数据库连接池 在 Tomcat 服务器中配置数据库连接池是一个非常重要的步骤,它可以提高应用程序的性能和可靠性。在这篇文章中,我们将详细介绍如何在 Tomcat 目录下面的 Context.xml 配置文件中配置...

    用JNDI建立数据库连接池实例

    在这个实例中,我们将讨论如何在基于Tomcat的Web服务器上使用JNDI来创建数据库连接池。 首先,理解JNDI的工作原理至关重要。JNDI的核心是名称绑定,即将一个名称(比如“jdbc/myDataSource”)与一个对象(如数据库...

    tomcat的数据库连接池的设置

    在IT行业中,数据库连接池是优化应用程序性能的关键技术之一,特别是在使用Java的Web服务器如Tomcat时。数据库连接池管理数据库连接,使得多个用户可以共享这些连接,而不是为每个请求创建新的连接,从而提高效率并...

    tomcat数据库连接池配置

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

    JNDI的数据库连接池 pdf

    ### JNDI数据库连接池详解 #### 一、引言 在现代的Web应用程序开发中,数据库连接的高效管理对于提升应用性能至关重要。数据库连接作为一种关键且有限的资源,在多用户环境中尤其显得宝贵。不当的连接管理不仅可能...

    tomcat6配置数据库连接池代码

    在Tomcat6中,为了实现高效的数据访问,通常会使用数据库连接池来管理数据库连接。连接池允许程序在需要时获取数据库连接,使用完毕后归还,而不是每次连接和断开都创建新的连接,从而提高性能并减少资源消耗。 ...

    基于JNDI的数据库连接池技术及应用

    在分析数据库连接池工作原理的基础上,给出了Tomcat服务器数据库连接池的配置实例,以及在JSP页面中使用此连接池进行数据库访问的Java代码。在大型Web站点的开发中,使用数据库连接池技术是必要的,也是可取的。

    Tomcat6配置连接池

    本文将详细介绍如何在Tomcat 6中配置数据库连接池,并通过实际案例进行演示。 #### 二、配置步骤详解 ##### 2.1 修改`server.xml`文件 首先,我们需要打开Tomcat安装目录下的`conf`文件夹,找到`server.xml`文件...

Global site tag (gtag.js) - Google Analytics