tomcat5.5.20连接池DBCP、C3P0配置

news/2024/5/19 0:21:16 标签: JDBC, SQL Server, Tomcat, SQL, XML


DBCP:
第一种方法 :修改$CATALINA_HOME\conf\server.xml,在<GlobalNamingResources> 中添加:
<Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
              maxActive="100" maxIdle="30" maxWait="200"
              driverClassName="@DB-DRIVERNAME@"
              username="@DB-USERNAME@" password="@DB-PASSWORD@"
              url="@DB-URL@"
              defaultAutoCommit="true" removeAbandoned="true"
              removeAbandonedTimeout="60" logAbandoned="true"/>

然后在$CATALINA_HOME\conf\Catalina\localhost,创建应用相关的*.xml文件,在此文件的<context>中添加:
<ResourceLink
    global="jdbc/dsname"
    name="jdbc/dsname"
    type="javax.sql.DataSourcer"/>

第二种方法: 直接在$CATALINA_HOME\conf\Catalina\localhost,创建应用相关的*.xml文件,在此文件的<context>中添加:
<Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
              maxActive="100" maxIdle="30" maxWait="200"
              driverClassName="@DB-DRIVERNAME@"
              username="@DB-USERNAME@" password="@DB-PASSWORD@"
              url="@DB-URL@"
              defaultAutoCommit="true" removeAbandoned="true"
              removeAbandonedTimeout="60" logAbandoned="true"/>

还有一种是官方配置:
1.修改$CATALINA_HOME\conf\server.xml,Context对应你的web应用的目录名,放到<host> 中间:
<Context docBase="test" path="/test" debug="5" reloadable="true" crossContext="true">
    <Resource name="jdbc/dsname" auth="Container" type="javax.sql.DataSource"
              maxActive="100" maxIdle="30" maxWait="200"
              driverClassName="@DB-DRIVERNAME@"
              username="@DB-USERNAME@" password="@DB-PASSWORD@"
              url="@DB-URL@"
              defaultAutoCommit="true" removeAbandoned="true"
              removeAbandonedTimeout="60" logAbandoned="true"/>
</Context>
2.在你的WEB应用的web.xml中添加:
<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/dsname</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>

第一种和第三种差不多,第一种第一段其实就是用http://localhost:8080/admin 添加DataSource后生成的,要多写一个WEB应用相关的XML来绑定连接池,第三种把这个文件集成到了server.xml中,和连接池的绑定交给了web.xml,但共同不方便的是如果TOMCAT下有多个应用,在开发中可能有的应用是不需要启动的,那你就要去修改server.xml.
第二种方法的优点也正是另外两种方法的缺点,个人比较喜欢第二种方法,一个是TOMCAT版本更换比较方便,是的之前备份应用相关XML就可以了;二是如果不需要启动不相关的应用直接把文件名改一下,比如说加个.bak后缀就可以了.

C3P0:

因为TOMCAT自带的DBCP有很多BUG,所有有时会使用C3P0来替代,配置方法和上边的结构基本一样,注意几个参数名称不一样就可以了,另外还要把C3P0的JAR包放到classpath

<Resource name="jdbc/name" auth="Container" type="com.mchange.v2.c3p0.ComboPooledDataSource "
              maxPoolSize="30" minPoolSize="1" initialPoolSize="5" acquireIncrement="2"
              idleConnectionTestPeriod="60" maxIdleTime="60"
              driverClass="@DB-DRIVERNAME@"
              user ="@DB-USERNAME@" password="@DB-PASSWORD@"
              jdbcUrl ="@DB-URL@"
              factory ="org.apache.naming.factory.BeanFactory"/>

 


其实还有其它的方法,另外需要注意的一点是数据库相关的JDBC驱动要放到$CATALINA_HOME\common\lib下边,不然会class not found!

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LongLongRiver/archive/2009/06/11/4261624.aspx


http://www.niftyadmin.cn/n/873242.html

相关文章

Go语言之Cond

Golang的sync包中的Cond实现了一种条件变量&#xff0c;主要用来解决多个读协程等待共享资源变成ready的场景。在使用Cond的时候&#xff0c;需要特别注意下&#xff1a;每个Cond都会关联一个Lock&#xff08;*sync.Mutex or *sync.RWMutex&#xff09;&#xff0c;当修改条件或…

c++2010修复不了_ICADIS漆面膜C位争夺战,快来Pick你的铠甲天团

要说这个夏天最火热的可不是30℃的温度而是各种成团出道的训练生们无论是青春有你2创造营还是姐姐们都让C位出道成团梦成了后浪们的热潮这一次ICADIS集结11位出道训练生成立“ICADIS最强膜王”团各位制作人你最中意的C位是谁呢&#xff1f;阳光活力担当——TPU-S7ICADIS漆面膜I…

Oracle 查看sql性能

# ***号部分就是你要查看性能的对应sql EXPLAIN PLAN FOR ( ******);SELECT* FROMTABLE (dbms_xplan.display);

JavaScript 修改表单样式和readOnly属性

Java代码 function change() { var obj document.getElementById("condition1");//得到下拉列框对象 var index obj.selectedIndex;//得到下拉列表的下标0,1,2,3, var val obj.options[index].value;//得到下拉列表的value…

nms python代码_faster rcnn two stage(分步)训练方式代码解读

人在美国&#xff0c;刚下飞机&#xff0c;在飞机上阅读了下faster rcnn 分步训练的源码&#xff0c;感觉网上关于end2end方式的代码解读不少&#xff0c;却鲜有alt opt方式的代码解读&#xff0c;写此文的目的也是帮助大家尽可能地理解分步训练的核心要点&#xff0c;也算是为…

Go语言之unsafe

很多同学可能很奇怪&#xff0c;Go不是有指针类型了吗&#xff1f;为啥还需要这样一个unsafe的包呢&#xff0c;关键这个包的名字还是这么的让人不放心&#xff0c;叫做不安全包&#xff1f;而这个包又能够做什么呢&#xff0c;可以帮助我们解决那些问题呢&#xff1f;笔者在学…

Idea2020 无法share项目到svn

Idea2020 无法share项目到svn VCS -> Enable Share…选择svn, 确定找不到Share Dictory 按钮 或者 项目目录文件没有变红Settring -> Version Control 看看有无Subversion 如果没有就加一个, 然后编辑, 单选哪里选目录,选择对应的项目文件目录即可

框架版本更新--引入注解

1&#xff1a;struts升级到2.1使用注释的方式来配置Action。 参考地址&#xff1a;http://cwiki.apache.org/WW/convention-plugin.html 2&#xff1a;spring升级到2.5.6&#xff0c;也使用注释的方式来配置bean。 参考地址&#xff1a;http://static.springframework.org/sp…