${db.driver}

${db.url}

${db.user}

${db.password}

100

50

10000

3600000

true

select 1 from dual

使用上述的三个红色的参数,就可以避免这个问题.这三个参数的意义:

timeBetweenEvictionRunsMillis:启动connection校验定时器,定时器运行时间间隔就是timeBetweenEvictionRunsMillis的值.默认为-1,表示不启动定时器,这里设定为1小时,只要小于mysql的wait_timeout就可以了

testWhileIdle: true,表示检查idle的connection,false为不检查

validationQuery:用于检查connection的sql语句.

这只是一种方法,另外的几种方法:

timeBetweenEvictionRunsMillis+minEvictableIdleTimeMillis:这种方式不检查Connection的有效性,而是检查连接的空闲时间,大于minEvictableIdleTimeMillis就清除.

3600000

120000

如果不喜欢用定时器,也可以配置testOnBorrow+validationQuery参数:每次从连接池取参数都会校验连接的有效性.实际上这种方式性能会比定时器差些.

true

select 1 from dual

另外,也可以用testOnReturn+validationQuery,不过未必会解决问题:这表示每次使用完连接,归还连接池的时候检查连接的有效性,这有可能导致使用一次无效的连接,最好不要用.

上面的几种方法可以合并使用,只是检查的点多了,未必是好事

另外,也可以使用Abandoned的那几个参数,来删除连接池中的连接.也能达到效果.我没测试.

posted on 2010-09-15 17:57 王卫华 阅读(2317) 评论(0)  编辑  收藏 所属分类: spring

apachecommon连接mysql_使用 apache common dbcp +common pool+mysql连接无效的问题相关推荐

  1. apachecommon连接mysql_使用Apache Commons的DBUtils工具包中的,QueryRunner查询数据库返回结果错误...

    写了一个最简单的测试,就是使用QueryRunner查询一个表中的所有记录,并保存在JavaBean类对象里. 问题如下:查询到的id全为0,使用普通sql查询是正确的:而且使用QueryRunner ...

  2. jsch连接mysql_求用jsch网络工具包通过ssh连接远程oracle数据库并发送sql操作语句(数据库在unix上)java代码例子...

    求用jsch网络工具包通过ssh连接远程oracle数据库(数据库在unix上)java代码例子:为何jsch发送:sqlplususer/pwd@service此命令,却没有结果返回啊.下面是代码: ...

  3. vs vb连接mysql_详细介绍VS2010 VB ACCESS数据库的连接(如有不对,敬请改正)

    VS 首先添加引用 尽量选最新的版本,这样可以向下兼容 然后连接ACCESS数据库 点击数据/添加新数据源 第一次连接点新建连接 点击更改 选中ACCESS数据库 点击浏览,选定数据库位置 用户名密码 ...

  4. spss连接mysql_通过结合使用 SPSS 与数据库仓库连接开展预测性分析

    IBM SPSS Modeler 提供预测性分析,可帮助您发现数据模式,提高预测准确性,并改进决策.本教程演示了在 Watson Studio 上使用 SPSS Modeler 的端到端流程:在 Db ...

  5. 云开发连接mysql_微信小程序云开发—云函数连接MySQL

    微信小程序云开发-云函数连接MySQL 直接上干货,主要是利用微信的云函数和Sequelize 进行连接外部MySQL ,本文章主要讲述: MySQL MySQL 拉取我的代码或则创建一个新的云开发小 ...

  6. ashx连接mysql_对C#中的web访问mysql数据库的一些知识点进行了整理归纳总结

    基本对比 使用方式 使用场合 优缺点 是否需要安装 需要的dll网址 引用方式 程序内引用 程序初期确定使用MySql,前期添加引用 大多数情况下使用在类文件内,多数使用于aspx,ashx等带有后置 ...

  7. mysql 连接校对_教你轻松的掌握 MYSQL连接字符集和校对

    一些字符集和校对规则系统变量与客户端和服务器的交互有关.在前面的章节中已经提到过部分内容: ·服务器字符集和校对规则可以用作character_set_server和collation_server变 ...

  8. mysql许多连接错误而被阻止_怎样解决mysql连接过多的错误?

    设置max_execution_time 来阻止太长的读SQL.那可能存在的问题是会把所有长SQL都给KILL 掉.有些必须要执行很长时间的也会被误杀. 自己写个脚本检测这类语句,比如order by ...

  9. c# mysql 连接串_c# – 如何形成一个正确的MySQL连接字符串?

    我正在使用C#,我正在尝试连接到由00webhost托管的 MySQL数据库. 我在线路上遇到错误.打开(): there is no mysql host with this parameters. ...

最新文章

  1. 人工智能的行为该由谁来负责?
  2. 智能安防赛道上 国产AI芯片力挫群雄
  3. java都界面相对布局_浏览器的重排和重绘
  4. [原]请留心asp:Image控件中的ImageUrl属性
  5. 隔空投送找不到_嗑技热点对标苹果AirDrop,安卓终于也能隔空投送
  6. 【数据竞赛】五大100%奏效的特征筛选策略
  7. 今日arXiv精选 | 11篇ICCV 2021最新论文
  8. html静态网页模板cs4,Adobe Dreamweaver CS4 精简版
  9. [BZOJ4913][SDOI2017]遗忘的集合
  10. Mac 不能进入睡眠模式,如何修复?
  11. 28.yii2 用户认证
  12. 微信获取粉丝信息php,1.2 微信粉丝用户及粉丝标签管理
  13. Copy-on-Write模式:写时复制
  14. 奇虎360 php t5级别,奇虎360凭什么估值3800亿?核心价值只是他而已!
  15. 中奖记录html页面,微信小程序 中奖纪录列表滚动
  16. 好看的html视频播放界面,推荐几款超个性的HTML5视频播放器
  17. [激光原理与应用-19]:《激光原理与技术》-5- 激光器的增益、损耗、自激振荡条件
  18. 一个简单的百度爬虫实例
  19. 《微积分:一元函数微分学》——狄利克雷函数
  20. pandas常用操作

热门文章

  1. mac qt编译出现问题的解决方法
  2. C++ 虚函数,纯虚函数,抽象类整理
  3. C++生成指定范围内随机数封装
  4. Windows进程通信之共享内存通信(C++)
  5. IA-32 System-Level Registers and Data Structures
  6. Linux网络协议栈:NAPI机制与处理流程分析(图解)
  7. Linux系统Posix异步IO接口(aio.h):aio_read,aio_write,aio_error
  8. 404 NOT FOUND!
  9. Linux Shell 中各种括号的作用 ()、(())、[]、[[]]、{}
  10. flask mysql 配置文件_flask配置文件的几种方法