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个优势的更多相关文章

  1. javaEE(12)_数据库连接池

    一.直接获取数据库连接和通过池获取示意图: 二.编写数据库连接池 1.实现DataSource接口,并实现连接池功能的步骤: •在DataSource构造函数中批量创建与数据库的连接,并把创建的连接加 ...

  2. java数据库连接池性能对比

    这个测试的目的是验证当前常用数据库连接池的性能. testcase Connection conn = dataSource.getConnection(); PreparedStatement st ...

  3. 常用Java数据库连接池

    概述 在这里所谓的数据库连接是指通过网络协议与数据库服务之间建立的TCP连接.通常,与数据库服务进行通信的网络协议无需由应用程序本身实现,原因有三: 实现复杂度大,需要充分理解和掌握相应的通信协议. ...

  4. 主流Java数据库连接池分析(C3P0,DBCP,TomcatPool,BoneCP,Druid)

    主流数据库连接池 常用的主流开源数据库连接池有C3P0.DBCP.Tomcat Jdbc Pool.BoneCP.Druid等 C3p0: 开源的JDBC连接池,实现了数据源和JNDI绑定,支持JDB ...

  5. Tomcat 与 数据库连接池 的小坑

    连接池的优点众所周知. 我们可以自己实现数据库连接池,也可引入实现数据库连接池的jar包,按要求进行配置后直接使用. 关于这方面的资料,好多dalao博客上记录的都是旧版本Tomcat的配置方式,很可 ...

  6. java web学习总结(十六) -------------------数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  7. JDBC 数据库连接池 小结

    原文:http://www.cnblogs.com/lihuiyy/archive/2012/02/14/2351768.html 当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用 ...

  8. 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 ...

  9. [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. Calendar日期方法

    面试居然让我获取当前月份第一天跟最后一天,主要是尴尬的回答不上来. 废话不说,直接贴代码,工作应该是够用了 public class TestCalendar { // 日期也就是这了 public ...

  2. WebApi使用JWT认证(二)

    这是第二部:实现NetCore上的WebApi使用JWT认证 1.NetCore新建一个WebApi的项目 2.打开AppSettings.json,添加Jwt的信息,这里为了演示而已 { " ...

  3. openstack vm实例pxe无法启动

    问题如下: 创建vm没有任何报错,打开控制台提示: SeaBIOS (versio xxxxxxx) Machine UUID xxxxxxxxxx iPXE (http://ipxe.org) 00 ...

  4. [CodeForces-797F]Mice and Holes

    题目大意: 在一条直线上,有n个老鼠,m个洞. 每个老鼠i都有一个初始位置x[i]. 每个洞i都有一个固定位置p[i]和容量限制c[i]. 求所有老鼠都进洞的最小距离总和. 思路: 动态规划. 用f[ ...

  5. C++ -- STL泛型编程(二)之set

    set集合容器实现了红黑树的平衡二叉检索树的数据结构,在插入元素时候它会自动调整二叉树的排列,把元素放在适当的位置,以确保每个子树根节点的键值都大于左子树的所有节点的键值,而小于右子树的所有节点的键值 ...

  6. CodeM资格赛2

    题目描述 组委会正在为美团点评CodeM大赛的决赛设计新赛制. 比赛有 n 个人参加(其中 n 为2的幂),每个参赛者根据资格赛和预赛.复赛的成绩,会有不同的积分.比赛采取锦标赛赛制,分轮次进行,设某 ...

  7. [HTML]不让TD中的文本撑开表格(转)

    我经常会遇到这样的问题:在设计好宽度的表格中,因为有些文本信息过长,而把表格撑开(弄的面目全非)!很让人头疼.其实解决这个问题很简单,只要在<td>的样式中加入word-break: br ...

  8. POJ 2417 Discrete Logging (Baby-Step Giant-Step)

    Discrete Logging Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 2819   Accepted: 1386 ...

  9. BusyBox 简化嵌入式 Linux 系统

    BusyBox 是很多标准 Linux® 工具的一个单个可执行实现.BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大.更复杂的工具,例如 grep.find.moun ...

  10. 数据库中MCO

    约束条件指该字段取值的约束条件,“ M ”表示必填.“ C ”表示条件必填.“ O ”表示可填,以下含义同