tomcat7的数据库连接池tomcatjdbc的25个优势
tomcat的JDBC连接池org.apache.tomcat.jdbc.pool更换或替代吗Apache Commons DBCP连接池。
为什么我们须要一个新的连接池?
这里有几个原因:
1.DBCP 1.x是单线程的。
为了成为线程安全的 共享锁整个池在短时间内在两个对象 分配和对象返回。
注意,这并不适用 下议院DBCP 2.x。
2.DBCP 1.x能够缓慢。 逻辑cpu数量的添加和 并发线程的数量试图借或返回 对象的添加,性能会减少。 对高并发 系统能够显著的影响。
请注意,这并不适用 Commons DBCP 2.x。
3.DBCP超过60类。
tomcat-jdbc-pool核心是8类, 因此未来需求将须要更少的改动 的变化。
这是全部你须要执行连接池本身 歇息是肉汁。
4.DBCP使用静态接口。
这意味着你必须使用 正确的版本号为给定的JRE版本号或您可能会看到NoSuchMethodException例外。
5.不值得重写60多个类,当一个连接池 是一个更简单的实现完毕。
6.Tomcat jdbc池实现检索连接的能力 异步,无需添加额外的线程库 本身。
7.Tomcat jdbc池是Tomcat模块,这取决于Tomcat朱莉·, 简化的日志框架用于Tomcat。
8.检索底层连接使用javax.sql.PooledConnection接口。
9.饥饿的证明。 假设池是空的,和线程正在等待 返回连接,连接时,将醒着 正确的线程等待。
大多数池仅仅会饿死。
10.特性添加了其它连接池实现
11.支持高并发环境和多核心/ cpu系统。
12.动态实现的接口,将支持java.sql和javax.sql接口 您的执行时环境(仅仅要你的JDBC驱动程序做了相同的事情),即使编译较低版本号的JDK。
13.验证间隔——我们不须要验证我们每一次使用的连接,我们能够做到这一点 当我们借或返回的连接,就不是我们能够配置比间隔更频繁。
14.Run-Once查询,一个可配置的查询,将仅仅执行一次,当连接到数据库。 很实用的设置会话设置,您想要存在在整个时间建立连接。
15.配置自己定义拦截器的能力。 这同意您编写自己定义拦截器来增强功能。 您能够使用拦截器收集查询统计, 缓存会话状态,又一次连接失败,重试查询,缓存查询结果,等等。 你的选择是无尽的,拦截器是动态的,而不是绑定到一个JDK版本号的java.sql/javax.sql接口。
16.高性能——我们将展示一些性能上的差异
17.很easy,因为很简化实现,行数和源文件数量很低,和c3p0相比 有200多个源文件(上次我们检查),Tomcat jdbc 8的核心文件,连接池本身就是一半 那 错误可能发生,他们会更快的追踪,和更easy修复。
降低复杂性一直是重点从《盗梦空间》。
18.异步检索——你能够连接你的连接请求和接收队列Future<Connection>回来了。
19.更好的空暇连接处理。 而不是直接关闭连接,它仍然能够连接池大小和空暇池的智能算法。
20.你能够决定什么时候连接被觉得是放弃了,当池满了,还是直接在超时 通过指定一个池的使用门槛。
21.放弃连接计时器将重置/查询活动发表声明。 同意一个连接,在使用非常长一段时间不超时。 这是通过使用ResetAbandonedTimer
22.关闭连接后,连接为一个特定的时间。
年龄接近基于返回到池中。
23.JMX通知,当连接被怀疑是废弃的日志条目。
这类似于 的removeAbandonedTimeout但它不採取不论什么行动,仅仅是报告的信息。 这是通过使用suspectTimeout属性。
24.连接能够从检索java.sql.Driver,javax.sql.DataSource或javax.sql.XADataSource这是通过使用dataSource和dataSourceJNDI属性。
25.支持 JMX,支持 XA Connection
tomcat7的数据库连接池tomcatjdbc的25优势
tomcat7的数据库连接池tomcatjdbc的25个优势的更多相关文章
- javaEE(12)_数据库连接池
一.直接获取数据库连接和通过池获取示意图: 二.编写数据库连接池 1.实现DataSource接口,并实现连接池功能的步骤: •在DataSource构造函数中批量创建与数据库的连接,并把创建的连接加 ...
- java数据库连接池性能对比
这个测试的目的是验证当前常用数据库连接池的性能. testcase Connection conn = dataSource.getConnection(); PreparedStatement st ...
- 常用Java数据库连接池
概述 在这里所谓的数据库连接是指通过网络协议与数据库服务之间建立的TCP连接.通常,与数据库服务进行通信的网络协议无需由应用程序本身实现,原因有三: 实现复杂度大,需要充分理解和掌握相应的通信协议. ...
- 主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)
主流数据库连接池 常用的主流开源数据库连接池有C3P0.DBCP.Tomcat Jdbc Pool.BoneCP.Druid等 C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDB ...
- Tomcat 与 数据库连接池 的小坑
连接池的优点众所周知. 我们可以自己实现数据库连接池,也可引入实现数据库连接池的jar包,按要求进行配置后直接使用. 关于这方面的资料,好多dalao博客上记录的都是旧版本Tomcat的配置方式,很可 ...
- java web学习总结(十六) -------------------数据库连接池
一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...
- JDBC 数据库连接池 小结
原文:http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html 当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用 ...
- paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out
paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out 作者Attilax ...
- [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
随机推荐
- Android中xml tool属性
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0309/2567.html 我是搬运工.. 总结而言tool属性就是为了在IDE ...
- Shiro的鉴权方式
一. 怎么用 Shiro 支持三种方式的授权 编程式:通过写 if/else 授权代码块完成: Subject subject = SecurityUtils.getSubject(); if(sub ...
- Redux学习之解读applyMiddleware源码深入middleware工作机制
随笔前言 在上一周的学习中,我们熟悉了如何通过redux去管理数据,而在这一节中,我们将一起深入到redux的知识中学习. 首先谈一谈为什么要用到middleware 我们知道在一个简单的数据流场景中 ...
- shell grep 筛选
egrep '^.{11}(WP)' inputfile | sort -k1.17,1.24 > outputfile WP 在12位开始.
- java8新特性——简介
java8问世已经有好长时间了,但是之前项目中都没有使用到,所以一直都只是了解一些,近期刚刚换了家新公司,在开发中需要使用到java8来开发,所以也是马上赶来学习一下java8得新特性. 一.新特性 ...
- Java文件签名与验证
数字签名与验证只需要用户输入三个参数: Ø 原文件 Ø 签名信息文件 Ø 用户名 签名过程: 1. 首先从用户名对应的用户注册文件中读取 ...
- [BZOJ4872][六省联考2017]分手是祝愿(期望DP)
4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 516 Solved: 342[Submit][Statu ...
- hihocoder 162周 1323 : 回文字符串
hihocoder1323 : 回文字符串(162周) 题目链接 思路: dp; ac代码: #include<iostream> #include<cstdio> #incl ...
- C++继承引入的隐藏与重写
在区分隐藏和重写之前,先来理一理关于继承的东西... [继承] 继承是面向对象复用的重要手段,是类型之间的关系建模.通过继承一个类,共享公有的东西,实现各自本质不同的东西.简单的说,继承就是指一个对象 ...
- spring aop 理解
aop简介 aop是spring 的两大特性之一,还有IOC.主要提供面向切面的编程思想,区分于面向对象编程. aop原理(动态代理+反射) 在一个方法体中,可能会存在很多其他的方法调用,我们可以把每 ...