关于Tomcat与MySQL连接池问题的解析(原创)

研究了两天,终于有所收唬望对蒜所帮助。首先请储意:这里尤其讨论Tomcat5.5版本中幽问题,为什么尤其单对这妇,我一会儿便加以说胋r>

问题一:Cannot create JDBC driver of class '' for connect URL 'null'

碽r>[原襯>很多炮配置好$Tomcat/conf/server.xml、$Tomcat/conf/context.xml、蒃B-INF/web.xml褐惮接池便会喝上错沃位般是一有邦定数据源(实际错蝦iverClassName、url的设置为空,但聪定不会忘掉设置这附,所以肯定是磋置完了没有进行连结!)。通常翠置数据源有两种方法(在$Tomcat/conf/context.xml的设置方式就不单算了),一种是在$Tomcat/conf/server.xml的前添加如下代码:

设置方式一:

//数据源名称

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver" //这就是我今天提及的driverClassName的设置

password="admin" //密码

maxIdle="2"

maxWait="5000"

username="root" //用户名

url="jdbc:mysql://localhost:3306/test?autoReconnect=true" //URL,就是刚刚提及的url

maxActive="4"/>

除了有注释的地方外,都是设置连结数量、闲置状款动状课数,如果你桨实验,可以毋须修改。这种方式配制骇果等同于在Tomcat图形界面中配置操譩r>另一种发法是在$Tomcat/conf/server.xml的中加入如下代码:

设置方式二:

factory

org.apache.commons.dbcp.BasicDataSourceFactory

username

root

password

admin

driverClassName

com.mysql.jdbc.Driver

url

jdbc:mysql://localhost:3306/test?autoReconnect=true

initialSize

20

maxActive

30

maxWait

10000

这样设置的一般目的是想使数据源在一咐的映射目录中实现,也就是一般这段代码弛,这样就可以通过访问:8080/myjsp/XXX.jsp来访问D:\webapps\myjsp中的某敢趁娼菰椿衅渌僮∈菰础Ⅻbr>

问题是,无论哪种方式,醇没有进行连结!如果不进行ResourceLink,也免籩an等未能找到你设置的代码,又砸至driverClassName跟url呢?实际上任何一庚设置都不会被找到的!

[解鲸]

知道了本意就便于了。无论你是使用哪种方式。

解鲸一:

如果想在某镐目录内实现ResourceLink,就在中间添加,注意假如你不了解代码关联关系,一定靳在和好。

解鲸二:

如果想弄成全局性的,在所有映射目录中均可以使用,就干脆写在$Tomcat/conf/context.xml中,蚄了。

一般囟“数据源名称”和“映射蝴称”设置成同一庚如我是这么设置的。

另外应当说泌Tomcat5.5中,如果你川第二种设置方式,即使加上ResourceLink,也会踊能正常运行的问题。

问题二:javax.naming.NameNotFoundException: Name XXX is not bound in this Context

碽r>[原襯>Tomcat5.5中好空间网络 下载源码,在中设置数据源不能正常运行,我看过一位外国人写的贴子,我数学水平不高,不过碰巧能读懂。他说这是胰较高的版本中(应该是说Tomcat跟dbcp),factory的值由org.apache.commons.dbcp.BasicDataSourceFactory改为了org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory。但是我进行过尝试,并不能解锯。而且我发觉Tomcat5.5标准版本自带dbcp,就在$Tomcat\common\lib中。我看过另一秆的解说,他说用第二种设置方式是不行的。这说摸种设置方式只适用先前版本好空间网络 下载源码,现在的版本我不知道要在哪部份啄,但错坞一拼设置,服我不到“数据源名称”对应的数据源。

[解鲸]

知道原疑以解籼看来只有把数据源声胠t;GlobalNamingResources>中能够泼。所以赐根据第一种设置方式设置Tomcat5.5(这就是我为何尤其讲Tomcat5.5)就可以了。

问题三:Cannot load JDBC driver class 'com.mysql.jdbc.Driver'

碽r>[原襯>不光对于mysql,对于饼据库,只要找不到,就会抛硁not load JDBC driver class",那么为何会找不到驱动类呢?如何能够找到呢?其实挺迹

[解鲸]

只要把jdbc拷贝至$Tomcat\common\lib中就可以了。

问题四:Cannot get a connection, pool exhausted

[原襯>很棘不能推行连结,连接池溢斥说媚连结资源都耗费了,原毅没有及时回收他们。

[解鲸]

及时并正确使用close()方法释放ResultSet、Statement、Connection,具体句子我就不说了,推糹nally中写。

总结:所以,如果你想用Tomcat5.5推行一篙源连接池,只要三步。

第一:设置数据源,推技形操祖,如果自动就在$Tomcat/conf/server.xml中前添加如下代码:

//数据源名称

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver" //这就是我今天提及的driverClassName的设置

password="admin" //密码

maxIdle="2"

maxWait="5000"

username="root" //用户名

url="jdbc:mysql://localhost:3306/test?autoReconnect=true" //URL,就是刚刚提及的url

maxActive="4"/>

注释参数记得修改成自己的。

第二:设置Resource连结。推糡omcat/conf/context.xml中写入,如果想就在某诜映射目录实现,就在$Tomcat/conf/server.xml中还要映射的目录中的弘。

第三:将JDBC拷贝至$Tomcat\common\lib中

另外,我在这里不具体说梦谍据源,这糍比较棘但要留意,DataSource ds=(DataSource)envCtx.lookup("引用数据源");语句中"引用数据源"只的是"映射蝴称",不是"数据源名称",所以我建议唇便蒲两钢设成同一给且特雹意及时释放闲置资源,不然连接池都会溢砨r>

以上是我叫究的一些成果,我还是抚者,希望这篇文章对蒜所帮助。有哪些问题可以联系我,我的邮箱是:lk_l@sina.com(爱看霓虹灯的人)。本文为neonlight.bokee.com(CSDN_MathMagician)原创,不可转载!2006年08月11日

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/tongxinshuyu/article-135062-1.html

optionnally mysql_关于Tomcat与MySQL连接池问题的解析!相关推荐

  1. 关于Tomcat与MySQL连接池问题的详解

    转载自   关于Tomcat与MySQL连接池问题的详解 研究了一天,终于有所收获,希望对大家有所帮助.首先请大家注意:这里尤其讨论Tomcat5.5版本中遇到的问题,为什么尤其单对这个版本,我一会儿 ...

  2. mysql连接池测试_Tomcat+mysql连接池的配置与测试

    [转贴请注明出处] 龙族联盟:网络巡警 Tomcat+mysql连接池的配置与测试 环境: Tomcat6.0.18 Mysql: 5.1.36 Windwos XP sp2 最近需要用到Tomcat ...

  3. php 协程 mysql_实现一个协程版mysql连接池

    实现一个协程版的mysql连接池,该连接池支持自动创建最小连接数,自动检测mysql健康:基于swoole的chanel. 最近事情忙,心态也有点不积极.技术倒是没有落下,只是越来越不想写博客了.想到 ...

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

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

  5. mysql清理连接数缓存,MySQL连接池、线程缓存、线程池的区别

    1. MySQL连接池 连接池通常实现在client端,是指应用(客户端)预先创建一定的连接,利用这些连接服务于客户端所有的DB请求.如果某一个时刻,空闲的连接数小于DB的请求数,则需要将请求排队,等 ...

  6. maven找到mysql 连接池_在Tomcat6.0+MySQL5.0环境下配置和使用数据库连接池

    一,在Tomcat中配置连接池的JNDI 首先到MySQL的网站上下载MySQL JDBC连接器放到%CATALINA_HOME%/lib目录下,在%CATALINA_HOME%/conf目录下找到c ...

  7. mysql odbc连接池_Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  8. mysql多个字符串连接池_使用Coroutine\Channel实现一个简单的MySQL连接池

    Channel通道,类似于go语言的chan,支持多生产者协程和多消费者协程,Swoole底层自动实现了协程的切换和调度 Channel实现原理 通道与PHP的Array类似,仅占用内存,没有其他额外 ...

  9. mysql内连接和外连接的区别_Swoole4创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机. 解决方案:连接池,这个连接池建立了200个和mysql的连接,这1000个 ...

  10. MySQL会回收使用中的连接吗_Node.js实现mysql连接池使用事务自动回收连接的方法示例...

    本文实例讲述了Node.js实现mysql连接池使用事务自动回收连接的方法.分享给大家供大家参考,具体如下: var mysql = require('mysql'), Connection = re ...

最新文章

  1. GridView,Repeater分页控件:WebPager(开源)
  2. 数字证书文件格式(cer和pfx)的区别
  3. c语言最长公共子序列_LCS(最长公共子序列)
  4. 用c语言简单办法做一个字典_幼儿园手工,用废纸筒做一个简单的小蝴蝶,有教程...
  5. 电子过载继电器行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  6. Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)
  7. 大数据建模步骤有哪些
  8. 把计算机怎么连接手机的网络助手在哪里,怎么将手机网络通过USB共享给电脑
  9. STM32平台RT-Thread最小系统移植搭建 - STM32F107VCT6
  10. 想要挣钱创收 那就用脚本操作手机群控软件啊
  11. Matlab2017b安装教程及破解失败方法
  12. 复爱合缘风波后高管调整:命庄海为总裁 王靖为CFO
  13. git报错Push to origin/master was rejected的解决办法
  14. 适用智能电表,热能表,气表等段码LCD液晶显示驱动芯片I2C 接口VK2C22A/B,RAM映射44*4, 40*4
  15. 冷冰:Android核心分析系列
  16. vr虚拟现实展示是怎么实现的
  17. PHP7新特性(常用)
  18. 远程桌面仅计算机,仅允许运行使用网络级别身份验证的远程桌面计算机连接失败处理方法(远程桌面连接)...
  19. 英语读书笔记-Book Lovers Day 03
  20. 周鸿袆眼里的程序员创业

热门文章

  1. python识别颜色并提取轮廓_用 Python 对图片主体轮廓进行提取、颜色标记、并计算区域面积...
  2. Unity AB加载预设体导致Rotation发生变化
  3. 服务器的硬盘分盘,服务器硬盘分区教程
  4. 读 《周爱民--大道之简》 笔记
  5. EndNote简明教程(三分钟上手EndNote)
  6. 比吸烟还可怕的九大“爱好”
  7. pdo操作oracle,PDO基础操作
  8. IEEE1588 Precision Time Protocol(PTP)
  9. syswow64删除文件_什么是SysWow64文件夹 SysWow64文件夹可以删除吗
  10. 小程序提示 网络异常 Network Anomalies