Tomcat 中Jndi是使用Tomcat自带的连接池,由于客户要求,抛弃Tomcat自带的连接池。使用c3p0 。经过几个小时调试,解决方案如下:

环境:Tomcat 6

下面来看Jndi 与 c3p0 结合: 
下载地址:http://nchc.dl.sourceforge.net/sourceforge/ 
c3p0/c3p0c3p0-0.9.0.4.bin.zip 
把 c3p0-0.9.0.4.jar 放到应用服务的%tomcat6%/lib目录下。如: 
1.在context.xml中<Context></Context>内加<Resource />,完整的示例:

  1. <?xml version= '1.0'  encoding= 'utf-8' ?>
  2. <Context>
  3. <WatchedResource>WEB-INF/web.xml</WatchedResource>
  4. <!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
  5. <!--<Resource name="jdbc/ctitc"  type= "javax.sql.DataSource"
  6. username="business"  password= "ctitc"               driverClassName="oracle.jdbc.driver.OracleDriver"  url= "jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
  7. maxIdle="30"  maxWait= "5000"   maxActive= "100" />
  8. -->
  9. <!-- 下面注释部分为使用jndi+c3p0-->
  10. <Resource name="jdbc/ctitc"
  11. type="com.mchange.v2.c3p0.ComboPooledDataSource"
  12. maxPoolSize="50"  minPoolSize= "2"  acquireIncrement= "2"
  13. factory="org.apache.naming.factory.BeanFactory"
  14. user="user"  password= ""
  15. driverClass="oracle.jdbc.driver.OracleDriver"
  16. jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
  17. />
  18. </Context>
  1. <?xml version='1.0' encoding='utf-8'?>
  2. <Context>
  3. <WatchedResource>WEB-INF/web.xml</WatchedResource>
  4. <!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
  5. <!--<Resource name="jdbc/ctitc" type="javax.sql.DataSource"
  6. username="business" password="ctitc"              driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
  7. maxIdle="30" maxWait="5000"  maxActive="100"/>
  8. -->
  9. <!-- 下面注释部分为使用jndi+c3p0-->
  10. <Resource name="jdbc/ctitc"
  11. type="com.mchange.v2.c3p0.ComboPooledDataSource"
  12. maxPoolSize="50" minPoolSize="2" acquireIncrement="2"
  13. factory="org.apache.naming.factory.BeanFactory"
  14. user="user" password=""
  15. driverClass="oracle.jdbc.driver.OracleDriver"
  16. jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
  17. />
  18. </Context>

2.在web.xml添加:

  1. <resource-ref>
  2. <description>DB Connection</description>
  3. <res-ref-name>jdbc/ctitc</res-ref-name>
  4. <res-type>javax.sql.DataSource</res-type>
  5. <res-auth>Container</res-auth>
  6. </resource-ref>
    1. <resource-ref>
    2. <description>DB Connection</description>
    3. <res-ref-name>jdbc/ctitc</res-ref-name>
    4. <res-type>javax.sql.DataSource</res-type>
    5. <res-auth>Container</res-auth>
    6. </resource-ref>

160707、Tomcat 使用 c3p0连接池的更多相关文章

  1. 配置tomcat全局c3p0连接池

    由于项目中多个应用访问同一个数据库,并部署在同一个tomcat下面,所以没必要每个应用都配置连接池信息,这样可能导致数据库的资源分布不均,所以这种情况完全可以配置一个tomcat的全局连接池,所涉及应 ...

  2. tomcat下c3p0连接池配置问题

    一.首先如果要使用这个连接池,就需要导入c3p0-0.9.2-pre1.jar架包和支持架包mchange-commons-0.2.jar, 我这里测试使用的是msql数据库 当然也需要导入mysql ...

  3. c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包

    [-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...

  4. DBCP,C3P0与Tomcat jdbc pool 连接池的比较

    hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect,告诉连接被重置 ...

  5. C3P0连接池问题,APPARENT DEADLOCK!!! Creating emergency..... [问题点数:20分,结帖人lovekong]

    采用c3p0连接池,每次调试程序,第一次访问时(Tomcat服务器重启后再访问)都会出现以下错误,然后连接库需要很长时间,最终是可以连上的,之后再访问就没问题了,请高手们会诊一下,希望能帮小弟解决此问 ...

  6. 开源数据库连接池之Tomcat内置连接池

    本篇介绍几种开源数据库连接池,同时重点讲述如何使用Tomcat服务器内置的数据库连接池. 之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式.这样能减少数 ...

  7. JNDI配置c3p0连接池

    JNDI是什么呢? 就是java命名和文件夹接口.是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢.他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到t ...

  8. c3p0连接池]

    <c3p0-config> <!-- 默认配置 --> <default-config> <property name="jdbcUrl" ...

  9. c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?

    问题描述: jfinal做的api系统中,在正常调用接口一段时间后,突然再调用接口的时候,该请求无响应api系统后台也无错误信息 (就是刚开始接口调用是正常的,突然就无响应了) 于是啊,就开始找错误. ...

随机推荐

  1. C#调用Windows CMD命令并,返回输出结果或错误信息

    public static string InvokeExcute(string Command) { Command = Command.Trim().TrimEnd('&') + &quo ...

  2. 开源框架AsyncHttpClient使用

    开源框架AsyncHttpClient使用 2013-10-14 15:16:35 分类: Android平台 在大神岩岩的推荐下使用了AsyncHttpClient框架,用过之后感觉还是灰常好用滴. ...

  3. C++的泛型编程方式

    1.使用类模板创建数组 下面这段代码:是创建一个元素为 T 类型的数组. #pragma once template<class T> class MyArray { public: // ...

  4. STM32关总中断的语句

    __set_PRIMASK();//关总中断 /************ **********/ __set_PRIMASK();//开总中断

  5. [sj系统] phabricator系统升级

    sj是公司产品bug管理 wiki一体化系统 ,很刁. 安装: http://www.cnblogs.com/chorulex/p/5381558.html 升级: https://phabricat ...

  6. PyCharm Python迁移项目

    把整个项目文件迁移过去后,执行文件会报不能执行XX,系统找不到指定的文件. 此时把当前的这个文件名字改一下,再运行,修改提示的错误.等错误全部修改,可以正常运行后,再把文件名改回去

  7. CCNA2.0笔记_IP连接排错

    IPv4 路由排错 ping tracert traceroute telnet show mac address-table show interfaces fastEthernet 0/1 sho ...

  8. js测试

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. word中特殊符号的替换

    首先在word里替换快捷键是ctrl+H,点击“更多”,会出现更多选项,在特殊格式那里可以选在各种符号,比如回车,空格什么的. 有的时候在word里看不到一些格式,需要点一下下图的对着的两个箭头图标: ...

  10. linux学习笔记32---命令ping和telnet

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...