`
ww4705
  • 浏览: 30215 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Tomcat中连接池的配置和使用

    博客分类:
  • java
阅读更多
对于大型网站来说,信息查询的次数会非常多,每次查询都需要这样的过程:加载驱动程序、创建连接、创建语句对象、执行SQL语句、关闭这些对象。建立与数据库之间的连接和释放连接会占用很多系统的时间。如果能够让所有用户共享连接,仅仅创建一次连接,谁需要连接谁就使用,这样可以大大减少创建连接所占用的时间。让所有用户共享连接,并且在需要的时候就能够使用,就需要有专门的机制来创建连接,数据库连接池(Dababase Connection Pool,简称DBCP)技术就是来解决这个问题的。
DBCP能够集中管理Web应用中的所有连接,提前创建好若干到数据库的连接,用户需要的时候从连接池中获取一个连接,用完之后重新把连接放回连接池。要使用DBCP,首先需要配置JNDI数据源。
配置JNDI数据源
DBCP可以使用很多技术实现,本书介绍的是比较流行的Jakarta-Commons的DBCP。
使用连接池的时候,存在一个问题。Web应用必须显式的关闭结果集对象、语句对象、连接对象,如果关闭失败,将导致这些对象不能重用。可能还会导致在连接使用完的时候,Web应用无法连接到数据库。
Jakarta-Commons的DBCP提供了一种机制,能够跟踪和恢复那些不能被管理的连接。要想跟踪和恢复那些不能被管理的连接,需要在配置数据源的时候增加下面的代码:
removeAbandoned="true"
当可用的连接数比较少的使用,连接池会查找并重复使用这些不能被管理的连接。可以使用removeAbandonedTimeout属性设置一个连接空闲多少秒之后被认为是已经被放弃的,默认值是300秒。如果想改为60秒,可以使用下面的代码:
removeAbandonedTimeout="60"
可以设置logAbandoned属性来记录没有正确释放连接的代码:
logAbandoned="true"
配置server.xml
server.xml文件在Tomcat安装目录的conf子目录下。在</host>之前增加下面的代码:
<Context path="/bookstore" docBase="bookstore"
        debug="5" reloadable="true" crossContext="true">
<Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="javauser"
               password="javadude"
               driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/bookstore?autoReconnect=true"/>
</Context>
各属性的含义如下:
1       maxActive: 池中连接的最大数目。要确保把mysql的最大连接数大于这个值。如果为0,则没有最大数量限制。
2       maxIdle: 池中最大空闲数据库连接数。如果为-1,则没有限制。
3       axWait: 等待一个连接变成可用的最长时间,单位是ms,这个例子中是10秒,如果超时将抛出异常。如果设置为-1,将无限等待
4       username 和 password: 连接MySQL数据库的用户名和口令
5       driverClassName: MySQL数据库的JDBC驱动程序的名字,这里驱动的名字是com.mysql.jdbc.Driver。
6       url: JDBC连接MySQL数据库的url。参数autoReconnect=true确保连接池能够重新连接,如果8个小时没有操作,mysql管理器会关闭连接。
配置web.xml
需要为当前应用配置web.xml。主要作用是声明数据源。代码如下:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
<description>MySQL Test App</description>
<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref>
</web-app>
使用连接池访问数据库
使用连接池访问数据库与使用JDBC直接访问数据库的过程基本相同,只是得到连接的方式不同。
下面的代码展示了在使用连接池的时候,如果获取到数据库的连接。
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");
Connection conn = ds.getConnection();
分享到:
评论

相关推荐

    Tomcat连接池配置.doc

    Tomcat 连接池配置是 Web 应用程序中一个非常重要的组件,它负责管理和维护数据库连接,确保数据访问的高速和安全性。本文将详细介绍 Tomcat 连接池配置的步骤和原理,帮助读者快速掌握 Tomcat 连接池的使用。 一、...

    Tomcat6配置连接池

    -- 新增的数据库连接池配置 --&gt; driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:ora" maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select * ...

    tomcat连接池配置

    二、Tomcat连接池配置 1. 添加依赖 在Maven项目中,需要在pom.xml文件中添加HikariCP的依赖: ```xml &lt;groupId&gt;com.zaxxer&lt;/groupId&gt; &lt;artifactId&gt;HikariCP 版本号 ``` 2. 配置context.xml 在Tomcat的...

    Tomcat连接池的配置

    总结来说,配置Tomcat连接池是提升Web应用数据库访问性能的重要步骤。通过合理配置连接池参数,可以有效管理数据库连接,避免资源浪费,提升系统整体性能。同时,持续监控和优化连接池设置是保持系统高效运行的关键...

    Tomcat连接池配置

    **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用程序中引用这些连接池。提供的...

    tomcat数据连接池配置

    总结,Tomcat数据连接池的配置涉及到选择合适的连接池实现、添加依赖、配置Context文件以及在应用中使用数据源。正确配置和管理数据连接池能显著提升Web应用的性能,同时降低资源消耗,是每个Java开发者必备的技能之...

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

    TOMCAT数据库连接池配置是Java Web开发中不可或缺的一环,它能够有效地管理和优化数据库连接,提高系统性能。以下是对TOMCAT数据库连接池配置的详细说明。 首先,你需要下载TOMCAT及其管理控件包,通常推荐使用5.x...

    tomcat连接池与阿里Druid连接池

    Tomcat 连接池配置需要在 Maven 项目中添加 Tomcat JDBC 依赖项,并在 application.properties 文件中配置数据库连接信息。下面是 Tomcat 连接池的配置示例: ```xml &lt;!-- Tomcat JDBC 依赖项 --&gt; &lt;groupId&gt;org....

    Tomcat6连接池配置详解(自动重连)

    ### Tomcat6连接池配置详解(自动重连) #### 一、引言 在现代Web应用开发中,数据库连接管理是非常重要的一环。为了提高应用性能并确保资源...希望本文能帮助开发者们更好地理解和掌握Tomcat6连接池配置的相关知识。

    Tomcat5.5连接池配置案例

    本案例聚焦于Tomcat 5.5版本的连接池配置,通过一个具体的JSP项目来展示如何设置和使用连接池。下面我们将详细讲解这个过程。 一、连接池概念 连接池是预创建并管理一定数量的数据库连接,当应用程序需要连接时,...

    Tomcat连接池配置详解

    总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。

    Tomcat配置连接池说明

    ### 二、Tomcat连接池配置详解 #### 1. 修改server.xml文件 Tomcat的server.xml文件位于conf目录下,是Tomcat的核心配置文件,控制着Tomcat的启动、停止以及主要服务的配置。在该文件中,我们可以通过添加`...

    tomcat6.0连接池配置方法详解

    ### Tomcat 6.0 连接池配置详解 在Java Web开发中,数据库连接池是一种常见的技术,用于管理数据库连接资源,提高系统的性能和稳定性。Tomcat作为一款广泛使用的Java应用服务器,提供了内置的连接池功能,方便...

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

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

    Tomcat web应用中配置连接池的详细过程

    ### Tomcat Web 应用中配置连接池的详细过程 #### 一、引言 在现代Web开发中,数据库连接管理是一项重要的任务。为了提高应用性能并减少资源消耗,通常会采用连接池技术来管理数据库连接。对于部署在Tomcat服务器...

    tomcat连接池的配置与性能测试

    `Tomcat连接池`是Java应用服务器中用于管理数据库连接的一种机制,它的目的是提高...总的来说,理解和配置Tomcat连接池是Java Web开发中必不可少的技能,而性能测试则帮助我们确保应用在实际环境中能提供最佳的服务。

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

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

Global site tag (gtag.js) - Google Analytics