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. 使用httpModules做一些事

    httpmodules是http管道处理程序 可以重写接口进行一些在请求到达api接口前做全局处理 这是一个过滤关键词的例子 using System; using System.Collection ...

  2. 征服 Ajax 应用程序的安全威胁

    Ajax 构建于动态 HTML(DHTML)技术之上,其中包括如下这些最常见的技术: JavaScript :JavaScript 是一种脚本语言,在客户端 Web 应用程序中经常使用. 文档对象模型 ...

  3. python3安装scrapy问题解决

    scrapy py3.5安装 pip install scrapy 直接安装失败 第一个错误 building 'lxml.etree' extension 使用 pip install lxml 安 ...

  4. Android--&gt;Realm(数据库ORM)使用体验,lambda表达式

    Realm,为移动设备而生.替代 SQLite 和 Core Data. 非常庆幸,官方帮助文档有中文: https://realm.io/cn/docs/java/latest/ 尽管眼下最新的版本 ...

  5. swift -变量的定义与使用

    使⽤用let来声明常量,使⽤用var来声明变量. ⼀一个常量的值在编译时并不须要获取,可是你仅仅能为它赋值⼀一次.也就是说你能够⽤用常量来表⽰示这样⼀一个值:你仅仅须要决定⼀一次,可是须要使⽤用非常多 ...

  6. 音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系

    音频采样中left-or right-justified(左对齐,右对齐), I2S时钟关系 原创 2014年02月11日 13:56:51 4951 0 0 刚刚过完春节,受假期综合症影响脑袋有点发 ...

  7. JavaScript No Overloading 函数无重载之说

    在ECMAScript语言中,函数名字仅仅只是是一个指针(能够觉得是引用),以下的代码: "use strict"; function sum(a,b){ return a+b; ...

  8. php socket 模型及效率问题

    // 创建套接字 socket_create(); // 绑定 socket_bind(); // 监听 socket_listen(); // 主体, 死循环 while(true){ // sel ...

  9. vim插件管理器的安装和配置-windows

    # vim插件管理器的安装和配置-windows ### 前言------------------------------ vim做一框功能强大的编辑器,扩展功能令人称奇,插件机制非常灵活- 本篇推荐 ...

  10. iOS开发之-收集的不常用却实用的小方法和技巧

    原文链接:http://blog.5ibc.net/p/90386.html 1.颜色转变成图片 - (UIImage *)createImageWithColor:(UIColor *)color ...