160707、Tomcat 使用 c3p0连接池
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 />,完整的示例:
- <?xml version= '1.0' encoding= 'utf-8' ?>
- <Context>
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
- <!--<Resource name="jdbc/ctitc" type= "javax.sql.DataSource"
- username="business" password= "ctitc" driverClassName="oracle.jdbc.driver.OracleDriver" url= "jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
- maxIdle="30" maxWait= "5000" maxActive= "100" />
- -->
- <!-- 下面注释部分为使用jndi+c3p0-->
- <Resource name="jdbc/ctitc"
- type="com.mchange.v2.c3p0.ComboPooledDataSource"
- maxPoolSize="50" minPoolSize= "2" acquireIncrement= "2"
- factory="org.apache.naming.factory.BeanFactory"
- user="user" password= ""
- driverClass="oracle.jdbc.driver.OracleDriver"
- jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
- />
- </Context>
- <?xml version='1.0' encoding='utf-8'?>
- <Context>
- <WatchedResource>WEB-INF/web.xml</WatchedResource>
- <!-- 下面注释部分为使用jndi+tomcat自带的连接池-->
- <!--<Resource name="jdbc/ctitc" type="javax.sql.DataSource"
- username="business" password="ctitc" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:FJTDC"
- maxIdle="30" maxWait="5000" maxActive="100"/>
- -->
- <!-- 下面注释部分为使用jndi+c3p0-->
- <Resource name="jdbc/ctitc"
- type="com.mchange.v2.c3p0.ComboPooledDataSource"
- maxPoolSize="50" minPoolSize="2" acquireIncrement="2"
- factory="org.apache.naming.factory.BeanFactory"
- user="user" password=""
- driverClass="oracle.jdbc.driver.OracleDriver"
- jdbcUrl="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"
- />
- </Context>
2.在web.xml添加:
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/ctitc</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
- <resource-ref>
- <description>DB Connection</description>
- <res-ref-name>jdbc/ctitc</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- </resource-ref>
160707、Tomcat 使用 c3p0连接池的更多相关文章
- 配置tomcat全局c3p0连接池
由于项目中多个应用访问同一个数据库,并部署在同一个tomcat下面,所以没必要每个应用都配置连接池信息,这样可能导致数据库的资源分布不均,所以这种情况完全可以配置一个tomcat的全局连接池,所涉及应 ...
- tomcat下c3p0连接池配置问题
一.首先如果要使用这个连接池,就需要导入c3p0-0.9.2-pre1.jar架包和支持架包mchange-commons-0.2.jar, 我这里测试使用的是msql数据库 当然也需要导入mysql ...
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
[-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...
- DBCP,C3P0与Tomcat jdbc pool 连接池的比较
hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect,告诉连接被重置 ...
- C3P0连接池问题,APPARENT DEADLOCK!!! Creating emergency..... [问题点数:20分,结帖人lovekong]
采用c3p0连接池,每次调试程序,第一次访问时(Tomcat服务器重启后再访问)都会出现以下错误,然后连接库需要很长时间,最终是可以连上的,之后再访问就没问题了,请高手们会诊一下,希望能帮小弟解决此问 ...
- 开源数据库连接池之Tomcat内置连接池
本篇介绍几种开源数据库连接池,同时重点讲述如何使用Tomcat服务器内置的数据库连接池. 之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式.这样能减少数 ...
- JNDI配置c3p0连接池
JNDI是什么呢? 就是java命名和文件夹接口.是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢.他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到t ...
- c3p0连接池]
<c3p0-config> <!-- 默认配置 --> <default-config> <property name="jdbcUrl" ...
- c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?
问题描述: jfinal做的api系统中,在正常调用接口一段时间后,突然再调用接口的时候,该请求无响应api系统后台也无错误信息 (就是刚开始接口调用是正常的,突然就无响应了) 于是啊,就开始找错误. ...
随机推荐
- java基础讲解09-----接口,继承,多态
还有什么包装类,数字类,这些简单的我就不想过去介绍,前面也大概的介绍了下,继承,多态 1.类的继承 继承的思想:基于某个父类的扩展,制定一个新的子类.子类可以继承父类原有的属性,方法,也可以重写父类的 ...
- 不懂Git,别说自己是程序猿–20分钟git快速上手(转)
在Git如日中天的今天,不懂git都不好意思跟人说自己是程序猿.你是不是早就跃跃欲试了,只是苦于没有借口(契机). 好吧,机会就在今天. 给我20分钟,是的,只要20分钟, 让你快速用上git. 我们 ...
- jquery 在ul中取得第一级的li
在ul中取得第一级的li <div id='demo1'> <ul> <li id='1'>1<li> <li id='2'>2<li ...
- unity, OnTriggerEnter2D不触发
我两个物体A,B都添加了Circle Collider 2D,并且都勾选了is Trigger,我在A的脚本里用void OnTriggerEnter2D(Collider2D coll)检测碰撞,但 ...
- setTime
var getTime = function() { var _ = ['00', '01', '02', '03', '04', '05', '06', '07', '08', '09'], //补 ...
- 蓝牙(CoreBluetooth)-概述
蓝牙(CoreBluetooth)-概述 通过此框架可以让你的Mac和iOS应用程序与外部蓝牙设备通信 外部设备: 就是需要通过iOS App控制器的其他设备: 例如:心率检测仪.数字温控器 蓝牙通讯 ...
- 利用yum下载rpm离线包
# 利用yum下载rpm包 ### 简介-----------------------------yum是基于red hat系统的默认包管理器.使用yum可以安装或更新一个rpm包,并且他会自动解决包 ...
- Jquery学习笔记(10)--ajax删除用户,使用了js原生ajax
主要复习了php的pdo数据库操作,和js的ajax,真麻烦,希望jquery的ajax简单点. index.php: <!DOCTYPE html> <html lang=&quo ...
- JavaScript变量的生命周期
最近看国外经典教材的时候发现JavaScript与熟知的Java,C,C++都不同的特性,其中一个就是变量的生命周期. 1.在JavaScript中,对于for循环中定义的i变量,其生命周期在循环 ...
- linux学习笔记4--命令mkdir
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. mkdir命令用来创建目录.该命令创建由dirname命名 ...