• 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优势

  • 相关阅读:
    线程与并发系列一:Lock、Monitor、UserSpinLock
    什么是WebService
    异步和多线程有什么区别
    java.sql.SQLException: The server time zone value '' is unrecognized or represents
    java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
    本地如何查看zookeeper注册了哪些服务
    maven的archetype
    Windows下安装ZooKeeper
    Dubbo架构和原理
    IntelliJ IDEA 2019.2.4破解
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6719642.html
Copyright © 2020-2023  润新知