tomcat 中 配制 dbcp
一、Tomcat配置一个jndi数据源方法
第一步:在C:"Tomcat 5.0"conf"server.xml中<Host>….</Host>中增加如下内容,注意:<DefaultContext>属于<Host>下的一级元素。
<DefaultContext>
<Resource name = "jdbc/testdb0_cs" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/testdb0_cs">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.informix.jdbc.IfxDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:informix-sqli://192.177.191.130:6666/testdb0_cs:INFORMIXSERVER=ccbhr_test</value>
</parameter>
<parameter>
<name>username</name>
<value>hrmis</value>
</parameter>
<parameter>
<name>password</name>
<value>hrmis</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>poolPrepareStatements</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<!-- Log a stack trace of the code which abandoned -->
<value>false</value>
</parameter>
</ResourceParams>
</DefaultContext>
第二步:修改C:"eclipse-SDK-3.0.1-win32"eclipse"workspace"zlp"WebContent"WEB-INF下web.xml,在<web-app>…..</web-app>中增加一级元素如下:
<!-- Database Config start -->
<resource-ref>
<description>connectDB test</description>
<res-ref-name>jdbc/testdb0_cs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- Database Config end -->
说明:蓝色的路径是你的应用所在路径下的web.xml
第三步:将Informix JDBC Driver拷贝到C:"Tomcat 5.0"common"lib目录下
第四步:重新启动tomcat
二、Tomcat中配置多个数据源的方法
第一步:server.xml 蓝色和绿色部分是两个数据源,分别连接两个不同的数据库。依次类推,配置多个。
<DefaultContext>
<Resource name="jdbc/testdb0_cs1" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/testdb0_cs1">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.informix.jdbc.IfxDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:informix-sqli://192.177.179.208:6666/testdb0_cs1:INFORMIXSERVER=ccbhr_test</value>
</parameter>
<parameter>
<name>username</name>
<value>informix</value>
</parameter>
<parameter>
<name>password</name>
<value>google</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>poolPrepareStatements</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<!-- Log a stack trace of the code which abandoned -->
<value>false</value>
</parameter>
</ResourceParams>
<Resource name="jdbc/testdb0_cs" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/testdb0_cs">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.informix.jdbc.IfxDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:informix-sqli://192.177.191.130:6666/testdb0_cs:INFORMIXSERVER=ccbhr_test</value>
</parameter>
<parameter>
<name>username</name>
<value>informix</value>
</parameter>
<parameter>
<name>password</name>
<value>informix</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>poolPrepareStatements</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<!-- Abandoned DB connections are removed and recycled -->
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<!-- Use the removeAbandonedTimeout parameter to set the number of seconds a DB connection has been idle before it is considered abandoned. -->
<value>60</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<!-- Log a stack trace of the code which abandoned -->
<value>false</value>
</parameter>
</ResourceParams>
</DefaultContext>
第二步:在应用的web.xml中增加新增的数据源,如下所示:
<!-- Database Config start -->
<resource-ref>
<description>connectDB test</description>
<res-ref-name>jdbc/testdb0_cs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<description>connectDB test</description>
<res-ref-name>jdbc/testdb0_cs1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!-- Database Config end -->
第三步:重启tomcat
三、多个数据源的访问方法参考
public Connection getConn(String dsnName)
{
Connection conn = null;
Context ctx = null;
DataSource ds = null;
String jndiStr = null;
try{
jndiStr = "java:comp/env/jdbc/" + dsnName.trim();
System.out.println("jndiStr=[" + jndiStr + "]");
ctx = new InitialContext();
ds = (DataSource) ctx.lookup(jndiStr);
conn = ds.getConnection();
}
catch(Exception e)
{
System.out.println("Connect database [" + dsnName.trim() + "] Error:" + e);
}
return conn;
}
说明:其中dsnName是我们要具体访问的数据源JNDI,例如:testdb0_cs1
-Created by Scorpio Zhen
相关推荐
总结,通过Tomcat的DBCP数据源管理,我们可以方便地在JavaEE应用中实现数据库连接的高效管理。这不仅提高了系统的性能,也简化了数据库连接的创建和管理流程。在实际项目中,可以根据需求进行配置调整,以达到最佳的...
在Java Web应用中,Tomcat是一个广泛使用的轻量级服务器,而DBCP(Database Connection Pool)是Apache组织提供的一个数据库连接池组件。在Tomcat 5.5版本中,使用DBCP来管理数据库连接,可以有效地提高应用的性能和...
通过以上三种方法,我们都可以成功配置Tomcat 5.5中的DBCP,实现数据库连接池的管理。不同之处在于配置文件的位置和方式。第一种方法适用于全局配置,第二种方法适合单个项目配置,并且更加灵活;第三种方法则更为...
tomcat6使用DBCP和blob出现ClassCastException解决方法
tomcat-dbcp.jar
好不容易才找到的,在apache上可以下载tomcat的源码,但是没有tomcat-dbcp的源码,现在终于找到了,免费分享给大家,
Tomcat连接池DBCP2密码加密
commons-collections-3.2-src.zip commons-dbcp-1.2.2-src.zip commons-pool-1.3-src.zip 用于在 Tomcat 中配置数据源的三个用到的包。
下面将详细介绍如何在TOMCAT中配置DBCP连接池,并在`server.xml`中设置全局数据源。 首先,确保你的开发环境中已经安装了TOMCAT服务器,并且你已经拥有一个适用于Java的数据库驱动,这里是MySQL的驱动程序`mysql-...
Tomcat 7-dbcp配置数据库连接池详解 原理 关于连接池,大家都晓得用来限定对数据库的连接。基本的原理是预先在缓冲池中放入一定的空闲连接,当程序需要和数据库来交互时,不是直接新建数据库连接而是在连接池中...
以下是一个详细的DBCP在Tomcat中的配置方法。 首先,我们需要了解数据库连接池的基本概念。数据库连接池是在应用服务器启动时创建一定数量的数据库连接,并将它们存储在内存中,当应用程序需要连接数据库时,可以从...
本源码提供了一个基于Java的Tomcat 7.0 DBCP数据库连接工具包的设计。项目包含56个文件,其中包括30个HTML文件、7个Java文件、5个JAR文件、4个GIF文件、2个XML文件、1个classpath文件、1个gitignore文件、1个project...
本项目提供了对三种常用的Java数据库连接池——DBCP(BasicDataSource)、C3P0和Tomcat JDBC的性能及稳定性测试代码。下面将详细介绍这三个连接池的工作原理、特性以及如何进行性能测试。 1. **DBCP ...
将Tomcat 7.0的DBCP封装为可移植的工具包,意味着开发者可以轻松地在不同的Java项目中复用这个连接池。这减少了代码重复,提高了代码质量,并且简化了系统集成的过程。无论是在桌面应用(JavaSE)还是分布式服务器...
Apache Commons DBCP虽然历史悠久,但在现代项目中可能已经被更先进的连接池如HikariCP、Tomcat JDBC Pool所取代,因为它们在性能和稳定性方面有更出色的表现。然而,理解DBCP的工作原理和使用方法仍然是Java开发者...
在Tomcat中配置DBCP数据源,我们需要以下几个步骤: 1. **添加依赖**:首先,确保你的项目中包含了Apache DBCP的jar文件,如`commons-dbcp.jar`和`commons-pool.jar`。这些文件通常可以从Apache官方网站下载或通过...
在Tomcat环境下,连接池通常使用Apache Commons DBCP(Database Connection Pool)来管理数据库连接。默认情况下,DBCP会直接读取配置文件中的用户名和密码,这意味着这些信息是以明文形式存在的。一旦服务器被非法...
在Java开发中,DBCP常被用来作为数据库连接管理的工具,以提高应用的性能和资源利用率。 在Java应用中,我们通常需要与数据库进行交互,而每次与数据库建立连接都需要一定的系统资源和时间。如果一个应用需要频繁地...