`
Luob.
  • 浏览: 1584374 次
  • 来自: 上海
社区版块
存档分类
最新评论

Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置

阅读更多
Tomcat 在 7.0 以前的版本都是使用commons-dbcp做为连接池的实现,但是 dbcp存在一些问题:
(1)dbcp 是单线程的,为了保证线程安全会锁整个连接池
(2)dbcp 性能不佳
(3)dbcp 太复杂,超过 60 个类,发展滞后。
因此,通常J2EE中还会使用其它的高性能连接池,如 C3P0,还有阿里系的 druid 等。为此,Tomcat 从 7.0 开始引入一个新的模块: Tomcat jdbc pool
tomcat jdbc pool 近乎兼容 dbcp ,性能更高
异步方式获取连接
tomcat jdbc pool 是 tomcat 的一个模块,基于 tomcat JULI,使用 Tomcat 的日志框架
使用 javax.sql.PooledConnection 接口获取连接
支持高并发应用环境
超简单,核心文件只有8个,比 c3p0 还少
更好的空闲连接处理机制
支持 JMX
支持 XA Connection。
tomcat jdbc pool 可在 Tomcat 中直接使用,也可以在独立的应用中使用。

1.Tomcat 中直接使用的方法:
在conf/server.xml下的<GlobalNamingResources>节点里配置resource,例如:

<Resource name="jdbc/ens"
      auth="Container"
      type="javax.sql.DataSource"
      factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
      testWhileIdle="true"
      testOnBorrow="true"
      testOnReturn="false"
      validationInterval="30000"
      timeBetweenEvictionRunsMillis="30000"
      maxActive="100"
      minIdle="10"
      maxWait="10000"
      initialSize="10"
      removeAbandonedTimeout="60"
      removeAbandoned="true"
      logAbandoned="true"
      minEvictableIdleTimeMillis="30000"
      jmxEnabled="true"
      jdbcInterceptors=
"org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
      username="root"
      password="123"
      driverClassName="com.mysql.jdbc.Driver"
      url="jdbc:mysql://localhost:3306/ens"/>

然后,在context.xml文件的<Context></Context>节点中添加如下配置:
<ResourceLink global="jdbc/ens" name="jdbc/ens" type="javax.sql.DataSource"/>



global="jdbc/ens" 中的参数值("jdbc/ens")必须和上一段<Resource >配置中的name属性的值保持一样。name="jdbc/ens" 这个可以随便取,但是在程序中调用的时候,就应该与name的值保持一致。到这里,连接池已经配置好啦。

用JSP测试一下:

<%@ page language="java" pageEncoding="gbk"%>
<%@page import="java.sql.Connection"%>
<%@page import="javax.naming.Context"%>
<%@page import="javax.naming.InitialContext"%>
<%@page import="javax.sql.DataSource"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%
   //连接池的获取
    Connection conn = null;
    DataSource ds = null;
    ResultSet rs  =null;
    Statement stmt = null;
    Context initCtx = new InitialContext();
    ds =(DataSource)initCtx.lookup("java:comp/env/jdbc/ens");
   if(ds!=null){
        out.println("已经获得DataSource!");
        out.println("<br>");
        conn = ds.getConnection();
       try{
        stmt = conn.createStatement();
        String sql ="select * from ens_area";
        rs = stmt.executeQuery(sql);
        out.println("以下是从数据库中读取出来的数据:<br>");
            while(rs.next()){
                out.println("<br>");
                out.println(rs.getString("area_name"));
            }
       }catch(Exception ex){
         ex.printStackTrace();
       }finally{
          conn.close();
          rs.close();
          stmt.close();
       }
   }

%>
分享到:
评论

相关推荐

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

    以上是TOMCAT中常见的三种数据库连接池配置方法,包括Apache Commons DBCP、C3P0以及Tomcat内置的JDBC Pool。每种方式都有其特点和适用场景,开发者应根据实际需求选择合适的连接池组件,并进行相应的配置。正确配置...

    tomcat6配置数据库连接池代码

    在Tomcat6中配置DBCP连接池,需要先将DBCP的jar文件(例如:commons-dbcp.jar和commons-pool.jar)添加到Tomcat的`lib`目录下。在提供的压缩包中,可能有一个名为"所需的jar文件.txt"的文件,它应该列出了这些必要...

    tomcat 5.5.28配置数据库连接池

    标题中的“Tomcat 5.5.28配置数据库连接池”是指在Apache Tomcat服务器的这个特定版本中,如何设置一个数据库连接池以优化数据库访问性能。数据库连接池是应用服务器管理数据库连接的一种机制,它能有效地复用数据库...

    tomcat配置数据库连接池

    1. 配置合适的连接池参数:根据实际应用的并发量和数据库性能调整连接池参数,以达到最佳性能。 2. 监控与日志:开启连接池的日志输出,监控连接池状态,如连接的创建、释放、空闲等,以便及时发现和解决问题。 3. ...

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

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

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

    通过这种方式,Tomcat连接池能够高效地管理数据库连接,避免了频繁创建和关闭连接的开销,提高了应用的性能和稳定性。同时,`BasicDataSource`提供的配置选项让我们可以根据实际需求调整连接池的大小和行为,进一步...

    tomcat数据库连接池的使用

    本文将详细介绍如何在Tomcat中配置和使用数据库连接池,以及相关的知识点。 首先,我们需要理解数据库连接池的概念。数据库连接池是在应用服务器启动时创建的一组数据库连接,这些连接在应用运行期间可以被多个请求...

    Tomcat配置数据库连接池

    配置DBCP连接池需要添加相应的依赖库,包括`commons-dbcp.jar`、`commons-pool.jar`和`commons-collections.jar`,以及相应的数据库驱动包,如Oracle的`classes12.jar`,这些库文件需要放在Tomcat的`lib`目录下。...

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

    ### Tomcat连接池数据库密码加密解密方法详解 在企业级应用中,数据库的安全性尤为重要。其中,数据库连接池作为应用程序与数据库之间的桥梁,扮演着关键角色。然而,当数据库的用户名和密码直接硬编码在配置文件...

    tomcat5.5配置数据库连接池

    本文将深入探讨如何在Tomcat 5.5版本中配置数据库连接池,以便高效地管理数据库连接,提高系统的响应速度和资源利用率。 首先,我们需要了解什么是数据库连接池。数据库连接池是在应用服务器启动时创建的一组预定义...

    tomcat数据库连接池设置

    在本文中,我们将详细介绍 Tomcat 数据库连接池的设置过程。 Step 1: 将数据库驱动程序的 JAR 文件放在 Tomcat 的 common/lib 中 在设置 Tomcat 数据库连接池之前,需要将数据库驱动程序的 JAR 文件放在 Tomcat 的...

    tomcat连接池与阿里Druid连接池

    Tomcat 连接池和阿里 Druid 连接池的配置和比较 Tomcat 连接池是一种基于 Java 的数据库连接池实现,提供了高效、可靠的数据库连接管理。阿里 Druid 连接池是阿里巴巴开发的开源连接池,提供了高性能、可靠的数据库...

    Tomcat连接池配置

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

    Tomcat的数据库连接池设置与应用

    本文将详细介绍如何在Tomcat中配置和使用Oracle数据库连接池。 #### 方案一:简易方式 ##### 配置步骤 1. **放置Oracle驱动包**:首先,需要将Oracle的驱动程序包(例如ojdbc6.jar)放置到web应用的`WEB-INF/lib`...

    Tomcat连接池的配置

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

    jdbc数据库连接池

    5. Tomcat JDBC Pool:Tomcat服务器自带的连接池,基于Jakarta-pool2实现。 ** 使用示例:HikariCP配置与使用 ** 在Spring框架中,可以使用以下配置来启用HikariCP连接池: ```xml ...

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

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

    JSP数据库连接池连接实例

    例如,Tomcat JDBC Connection Pool可以集成到Web应用中,通过配置`context.xml`或`web.xml`来设置连接池参数。 4. **实例化过程**: - **引入依赖**:首先,在项目中添加对应的连接池库依赖,如在Maven项目中修改...

    Tomcat 5.5数据库连接池配置

    在Java Web应用中,Tomcat是一个非常流行的开源...不过,随着技术的发展,更现代的连接池如HikariCP和Tomcat 8及更高版本内置的Tomcat JDBC Pool提供了更好的性能和特性,因此在新项目中推荐使用这些更新的解决方案。

Global site tag (gtag.js) - Google Analytics