`
刀剑如梦
  • 浏览: 5344 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

tomcat 中 配制 dbcp

阅读更多
本文以tomcat5.0和informix数据库为例,介绍tomcat 单个JNDI数据源和多数据源的配置。   
一、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-INFweb.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
分享到:
评论

相关推荐

    JavaEE 使用Tomcat的自带DBCP管理数据源案例

    总结,通过Tomcat的DBCP数据源管理,我们可以方便地在JavaEE应用中实现数据库连接的高效管理。这不仅提高了系统的性能,也简化了数据库连接的创建和管理流程。在实际项目中,可以根据需求进行配置调整,以达到最佳的...

    Tomcat5.5 的dbcp配置

    在Java Web应用中,Tomcat是一个广泛使用的轻量级服务器,而DBCP(Database Connection Pool)是Apache组织提供的一个数据库连接池组件。在Tomcat 5.5版本中,使用DBCP来管理数据库连接,可以有效地提高应用的性能和...

    tomcat5.5 的dbcp配置

    通过以上三种方法,我们都可以成功配置Tomcat 5.5中的DBCP,实现数据库连接池的管理。不同之处在于配置文件的位置和方式。第一种方法适用于全局配置,第二种方法适合单个项目配置,并且更加灵活;第三种方法则更为...

    tomcat6使用DBCP和blob出现ClassCastException解决方法 - shishi11 - ITeye技术网站

    tomcat6使用DBCP和blob出现ClassCastException解决方法

    tomcat-dbcp.jar

    tomcat-dbcp.jar

    tomcat-dbcp源码

    好不容易才找到的,在apache上可以下载tomcat的源码,但是没有tomcat-dbcp的源码,现在终于找到了,免费分享给大家,

    Tomcat连接池DBCP2密码加密

    Tomcat连接池DBCP2密码加密

    Tomcat数据源DBCP三个相关包

    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中配置DBCP连接池,并在`server.xml`中设置全局数据源。 首先,确保你的开发环境中已经安装了TOMCAT服务器,并且你已经拥有一个适用于Java的数据库驱动,这里是MySQL的驱动程序`mysql-...

    Tomcat 7-dbcp配置数据库连接池详解

    Tomcat 7-dbcp配置数据库连接池详解 原理  关于连接池,大家都晓得用来限定对数据库的连接。基本的原理是预先在缓冲池中放入一定的空闲连接,当程序需要和数据库来交互时,不是直接新建数据库连接而是在连接池中...

    dbcp tomcat 配置方法 代码

    以下是一个详细的DBCP在Tomcat中的配置方法。 首先,我们需要了解数据库连接池的基本概念。数据库连接池是在应用服务器启动时创建一定数量的数据库连接,并将它们存储在内存中,当应用程序需要连接数据库时,可以从...

    基于Java的Tomcat 7.0 DBCP数据库连接工具包设计源码 - dbcp

    本源码提供了一个基于Java的Tomcat 7.0 DBCP数据库连接工具包的设计。项目包含56个文件,其中包括30个HTML文件、7个Java文件、5个JAR文件、4个GIF文件、2个XML文件、1个classpath文件、1个gitignore文件、1个project...

    DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试代码

    本项目提供了对三种常用的Java数据库连接池——DBCP(BasicDataSource)、C3P0和Tomcat JDBC的性能及稳定性测试代码。下面将详细介绍这三个连接池的工作原理、特性以及如何进行性能测试。 1. **DBCP ...

    主要功能是以tomcat7.0 DBCP为原型封装成为可移植的数据库连接工具包 可通用于JavaSE或JavaEE平台

    将Tomcat 7.0的DBCP封装为可移植的工具包,意味着开发者可以轻松地在不同的Java项目中复用这个连接池。这减少了代码重复,提高了代码质量,并且简化了系统集成的过程。无论是在桌面应用(JavaSE)还是分布式服务器...

    commons中的DBCP连接池jar

    Apache Commons DBCP虽然历史悠久,但在现代项目中可能已经被更先进的连接池如HikariCP、Tomcat JDBC Pool所取代,因为它们在性能和稳定性方面有更出色的表现。然而,理解DBCP的工作原理和使用方法仍然是Java开发者...

    Tomcat 6.0配置数据源(DBCP)和JNDI使用

    在Tomcat中配置DBCP数据源,我们需要以下几个步骤: 1. **添加依赖**:首先,确保你的项目中包含了Apache DBCP的jar文件,如`commons-dbcp.jar`和`commons-pool.jar`。这些文件通常可以从Apache官方网站下载或通过...

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

    在Tomcat环境下,连接池通常使用Apache Commons DBCP(Database Connection Pool)来管理数据库连接。默认情况下,DBCP会直接读取配置文件中的用户名和密码,这意味着这些信息是以明文形式存在的。一旦服务器被非法...

    dbcp jar包 dbcp jar 包

    在Java开发中,DBCP常被用来作为数据库连接管理的工具,以提高应用的性能和资源利用率。 在Java应用中,我们通常需要与数据库进行交互,而每次与数据库建立连接都需要一定的系统资源和时间。如果一个应用需要频繁地...

Global site tag (gtag.js) - Google Analytics