JDBC连接池的testQuery/validationQuery设置
2015-12-24 12:01
351 查看
在《Tomcat中使用Connector/J连接MySQL的超时问题》帖子中想要增加对连接池中连接的测试/验证,防止数据库认为连接已死而Web应用服务器认为连接还有效的问题,Mysql文档中提到Tomcat文档中的例子中用的是validationQuery,但是网上还有很多帖子写的是testQuery,到底用哪一个呢?
原来这跟连接池的实现有关:
此外,测试/验证连接池连接的SQL语句也因数据库而异:
Efficient
SQL test query or validation query that will work across all (or most) databases
DBCP
- validationQuery for different Databases
综合上述两个帖子,汇总结果如下:
原来这跟连接池的实现有关:
连接池实现 | 该功能属性名 |
---|---|
The Tomcat JDBC Connection Pool | validationQuery |
The Apache Commons DBCP Connection Pool | validationQuery |
c3p0 - JDBC3 Connection and Statement Pooling | preferredTestQuery |
Atomikos:Tomcat Spring ActiveMQ MySQL JMX Integration 分析Atomikos数据连接池源码,弄清testQuery | testQuery |
Efficient
SQL test query or validation query that will work across all (or most) databases
DBCP
- validationQuery for different Databases
综合上述两个帖子,汇总结果如下:
数据库 | 测试/验证查询 |
---|---|
MySQL | SELECT 1 |
PostgreSQL | SELECT 1 |
Microsoft SQL Server | SELECT 1 |
SQLite | SELECT 1 |
H2 | SELECT 1 |
Ingres | SELECT 1 |
Oracle | select 1 from dual |
DB2 | select 1 from sysibm.sysdummy1 或 SELECT current date FROM sysibm.sysdummy1 |
Apache Derby | VALUES 1 FROM SYSIBM.SYSDUMMY1 或 SELECT 1 FROM SYSIBM.SYSDUMMY1 |
HSQLDB | SELECT 1 FROM any_existing_table WHERE 1=0 或 SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS |
Informix | select count(*) from systables |
相关文章推荐
- iOS小技巧15-改变UITabBarItem 字体颜色
- 使用buildroot制作交叉编译工具
- js下读取input中的value值
- IOS中UITableViewCell使用详解
- mybatis 中insert语句报如下错误: Incorrect integer value: '' for column 'pic_len' at row 1
- UILabel上的文字 单独改变 属性
- 分割视图控制器(UISplitViewController)
- PHP 性能分析第二篇: Xhgui In-Depth
- UITableViewController和UIRefreshControl实现下拉刷新功能
- ueditor使用会于第三方发生冲突
- UIScrollView中contentSize、contentInset、contentOffset介绍
- 解决The current branch is not configured for pull No value for key branch.master.merge found in confi
- CoreBluetooth框架(转)
- UILabel
- String,StringBuffer与StringBuilder的区别
- iOS 教你学UI控件的封装
- PHP 性能分析第一篇: Intro to Xhprof & Xhgui
- 法院执行人信息 业务 使用了多线程 cookie BlockingQueue 的一本程序
- Rails 多态关联 :polymorphic => true
- proguardgui.bat来混淆已有的jar包