因为JNDI配置方式在tomcat5.0和tomcat5.5.x进行过修改,所以tomcat6的JNDI配置与先前有些不同,这篇文章只介绍在tomcat6下面配置数据库连接池。
tomcat中的DBCP支持JDBC2.0规范,但是如果使用1.4版本一上的JVM的话,则支持JDBC3.0规范。如果想使用JDBC3.0的功能请使用1.4版本一上的JVM。
使用DBCP需要安装以下两个组件:
1.Commons DBCP
2.Commons Pool
tomcat安装目录下的lib/tomcat-dbcp.jar已经包含这两个组件了。
tomcatJNDI配置是写在context中的。在tomcat6中context有5种定义方式:
1.将数据库连接池的配置写在 $CATALINA_BASE/conf/context.xml中,这样的配置可以被tomcat服务器上所有的服务加载
2.写在文件$CATALINA_BASE/conf/[enginename]/[hostname]/context.xml.default中,同样这个文件可以被这个host下的所有服务加载。
3.写在文件$CATALINA_BASE/conf/[enginename]/[hostname]/***.xml中
4.在所要发布的web应用下的/META-INF/context.xml(如果没有则创建)中写上配置内容。这样在web应用发布的时候这个xml配置文件会自动复制到$CATALINA_BASE/conf/[enginename]/[hostname]/目录下面,并重命名为web应用名字.xml。
5.是将配置内容写在cong/server.xml文件中。(不建议这种方式,因为这样修改context配置需要重新启动tomcat服务器)
我建议采用第四种方式,这样的好处是应用开发者可以自己配置数据库连接池而不用修改服务器端的配置,而且也支持热部署。
数据库连接池context的属性
数据库连接池默认是不支持设置自动释放长时间未用的connection的。可以通过设置removeAbandoned="true"来是DBCP连接池支持自动释放长时间未用的连接。默认的时间是300秒,可以通过设置removeAbandonedTimeout="60"来将释放延时改为60秒或者其他。
下面是mysql 数据库的context配置示例
<Context path="/DBTest" docBase="DBTest"
reloadable="true" crossContext="true">
<!-- maxActive: Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to -1 for no limit.
-->
<!-- maxIdle: Maximum number of idle dB connections to retain in pool.
Set to -1 for no limit. See also the DBCP documentation on this
and the minEvictableIdleTimeMillis configuration parameter.
-->
<!-- maxWait: Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<!-- username and password: MySQL dB username and password for dB connections -->
<!-- driverClassName: Class name for the old mm.mysql JDBC driver is
org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
-->
<!-- url: The JDBC connection url for connecting to your MySQL dB.
-->
<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/javatest"/>
</Context>
将上面的context配置通过开始时介绍的集中配置方式配置到服务器上。然后就是在web应用中修改配置,在 WEB-INF/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>
这样就可以在web应用中使用数据库连接池了。
分享到:
相关推荐
本文将详细讲解如何在Tomcat6中配置数据库连接池,并以`index.jsp`为例展示如何在Web应用中使用这些配置。首先,我们需要了解数据库连接池的基本概念和常用的连接池实现,如Apache的DBCP或C3P0。这里我们假设使用的...
Tomcat 6.0数据库连接池驱动的使用,涉及到的主要知识点包括:数据库连接池的概念与作用,Tomcat内置的数据源实现(DBCP和C3P0),数据源的配置方法,JNDI的使用,以及在Java代码中获取和释放数据库连接。...
通过这种方式,Tomcat连接池能够高效地管理数据库连接,避免了频繁创建和关闭连接的开销,提高了应用的性能和稳定性。同时,`BasicDataSource`提供的配置选项让我们可以根据实际需求调整连接池的大小和行为,进一步...
Tomcat 作为流行的 Java Servlet 容器,也内置了对 DBCP 的支持,使得开发者能够轻松地在 Web 应用中配置和使用数据库连接池。 数据库连接池的工作原理是预先在内存中创建一定数量的数据库连接,这些连接在空闲时会...
以上是TOMCAT中常见的三种数据库连接池配置方法,包括Apache Commons DBCP、C3P0以及Tomcat内置的JDBC Pool。每种方式都有其特点和适用场景,开发者应根据实际需求选择合适的连接池组件,并进行相应的配置。正确配置...
Tomcat 5.5及更高版本内置了Catalina JDBC Connection Pool(也称为Apache Commons DBCP),这是一个基于Apache Commons Pool和Apache Commons Database Connectivity(DBCP)的数据库连接池组件。以下是配置步骤: ...
**数据库连接池(DBCP)** 是一个在Java应用程序中管理数据库连接的工具,它能够有效地提高数据库操作的性能和效率。DBCP全称为`Jakarta Commons DBCP`,是Apache软件基金会的一个项目,提供了对数据库连接的池化...
本文将详细介绍如何在Tomcat中配置和使用数据库连接池,以及相关的知识点。 首先,我们需要理解数据库连接池的概念。数据库连接池是在应用服务器启动时创建的一组数据库连接,这些连接在应用运行期间可以被多个请求...
### Tomcat下配置MySQL数据库连接池 #### 一、引言 在Web应用开发中,数据库连接池技术是一项重要的优化手段,它能够显著提高应用程序的性能和响应速度。本文将详细介绍如何在Apache Tomcat服务器环境下配置MySQL...
本文主要探讨了三个常用的数据库连接池:DBCP、c3p0和Druid,以及它们的配置说明。 1. **DBCP(Apache Commons DBCP)** DBCP是Apache Commons项目的一部分,它依赖于Apache Commons Pool对象池机制来管理数据库...
标题中的“Tomcat 5.5.28配置数据库连接池”是指在Apache Tomcat服务器的这个特定版本中,如何设置一个数据库连接池以优化数据库访问性能。数据库连接池是应用服务器管理数据库连接的一种机制,它能有效地复用数据库...
综上所述,这个文档主要讲述了如何在Tomcat服务器上,通过Hibernate和JNDI数据源配置,使用DBCP连接池连接MySQL数据库。尽管Hibernate官方并不推荐使用DBCP,但文档仍然提供了详细的配置步骤,包括环境准备、数据库...
Tomcat 5.5版本虽然较旧,但理解其数据库连接池的配置对于学习和维护旧系统仍然至关重要。数据库连接池是管理数据库连接的一种机制,它能有效地复用数据库连接,提高系统的性能和资源利用率。以下将详细讲解Tomcat ...
在IT行业中,数据库连接池是优化数据库访问...通过研究提供的源码压缩包,你可以深入理解Tomcat连接池的工作原理,学习如何配置和优化连接池,以及如何在实际应用中正确使用。这将对提升你的Java Web开发技能大有裨益。
DBCP(DataBase Connection Pool)是Apache组织提供的一款Java数据库连接池组件,它是Tomcat服务器默认使用的连接池组件。数据库连接池技术的主要目的是提高系统性能,减少数据库操作中的资源开销,通过预先创建并...
在本“数据库连接池的配置 完整版”压缩包中,包含了三个配置文件(假设为xxx.xml)以及一个说明文档,旨在帮助开发者理解和实践数据库连接池的配置过程。 首先,我们需要了解数据库连接池的基本概念。数据库连接池...
总的来说,配置Tomcat的数据库连接池是一项关键的系统优化工作,它涉及到对数据库连接管理的理解,以及对不同连接池特性的掌握。正确设置连接池参数可以显著提升应用的响应速度,降低资源消耗,确保系统的稳定运行。...
总结来说,配置Tomcat连接池是提升Web应用数据库访问性能的重要步骤。通过合理配置连接池参数,可以有效管理数据库连接,避免资源浪费,提升系统整体性能。同时,持续监控和优化连接池设置是保持系统高效运行的关键...
本教程将重点讲解如何在Tomcat容器中配置SQL Server和MySQL的数据库连接池,并涉及相应的驱动使用。 一、SQL Server连接池配置 1. **下载驱动**:首先,你需要下载适用于Java的SQL Server数据库驱动,通常为`mssql...
DBCP(Database Connection Pool)是Apache Commons DBCP项目提供的一种数据库连接池组件,它允许Java应用程序在多个并发用户之间复用数据库连接,从而提高应用性能并减少数据库资源的消耗。连接池的基本思想是初始...