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. 使用typescript开发js代码提升代码维护性

    function test() { var gs = new Greeter('ss'); alert( gs.greet()); } window.onload = test; class Gree ...

  2. STL容器分析--vector

    vector是一种动态数组,是基本数组的类模板. vector,支持随机访问.在数据结构上,属于顺序线性表. 而且,由于是动态数组,

  3. rownum使用说明

    参考:http://www.blogjava.net/conans/articles/219693.html 参考:http://www.blogjava.net/freeman1984/archiv ...

  4. Atitit.软件开发的几大规则,法则,与原则。。。attilax总结

    Atitit.软件开发的几大规则,法则,与原则... 1. 设计模式六大原则 2 1.1. 设计模式六大原则(1):单一职责原则 2 1.2. 设计模式六大原则(2):里氏替换原则 2 1.3. 设计 ...

  5. [docker]一些经常或不经常用到的镜像启动方法-一些常用的docker启动方式

    一些经常或不经常用到的镜像启动方法 设置容器的TZ另一种办法 参考: https://github.com/spujadas/elk-docker/blob/master/start.sh ## ov ...

  6. JS高程3:JSON

    JSON,JavaScript Object Notation,JS对象表示法,是目前最常见的传输结构化数据的数据结构. JSON并非编程语言,而是一种数据结构,像mp4.avi一样,只是一种数据格式 ...

  7. Java的ThreadContext类加载器的实现

    疑惑 以前在看源码的时候,总是会遇到框架里的代码使用Thread.currentThread.getContextClassLoader()获取当前线程的Context类加载器,通过这个Context ...

  8. 基于Java Mina 和Netty 通信框架的JT/T809转发服务器设计

    Apache MINA 是 Apache 组织的一个开源项目,为开发高性能和高可用性的网络应用程序提供了非常便利的框架. 也是Java开发者的一个福利(.NET目前还没有类似封装的这么好的基础sock ...

  9. js上传控件 plupload 使用记录

    最近一个项目需要使用一个上传控件进行多图片上传,给用户更好的体验,找到了plupload,用了一下感觉还是不错的, 1.从官网上  可以获得例子 ,我集成到了jsp,如下: <%@ page l ...

  10. SockIOPool

    1. SockIOPool – SockIO池化管理,为上层提供的接口是实例化函数[主要是指定memcached服务器地址,各个机器的权重]:根据key&hashCode获取SockIO-网络 ...