tomcat jdbc pool 连接池配置
来源:互联网 发布:mysql nosql 编辑:程序博客网 时间:2024/05/18 15:50
(1)dbcp 是单线程的,为了保证线程安全会锁整个连接池
(2)dbcp 性能不佳
(3)dbcp 太复杂,超过 60 个类,发展滞后。
因此,通常J2EE中还会使用其它的高性能连接池,如 C3P0,还有阿里系的 druid 等。为此,Tomcat 从 7.0 开始引入一个新的模块: Tomcat jdbc pool
tomcat jdbc pool 近乎兼容 dbcp ,性能更高
异步方式获取连接
tomcat jdbc pool 是 tomcat 的一个模块,基于 tomcat JULI,使用 Tomcat 的日志框架
使用 javax.sql.PooledConnection 接口获取连接
支持高并发应用环境
超简单,核心文件只有8个,比 c3p0 还少
更好的空闲连接处理机制
支持 JMX
支持 XA Connection。
tomcat jdbc pool 可在 Tomcat 中直接使用,也可以在独立的应用中使用。
name 连接池的名称
defaultAutoCommit 指定由连接池所创建的连接的自动提交(auto-commit)状态。
DefaultReadOnly 由连接池所创建的连接对数据库的只读属性
DefaultTransactionIsolation
指定由连接池所创建的连接的事务级别(TransactionIsolation)。可用值为下列之一:(详情可见javadoc)NONE
,READ_COMMITTED
,READ_UNCOMMITTED
,REPEATABLE_READ
,SERIALIZABLE
MinEvictableIdleTimeMillis
JmxEnabled 开启jmx的管理功能
TestWhileIdle 会使用测试线程,测试池中连接是否能够正常使用。
ValidationQuery
指定连接进入空闲状态时是否经过空闲对象驱逐进程的校验(如果存在空闲对象驱逐进程)。如果校验未通过,则该连接被连接池断掉。
注意:要想值为true时该设置生效,则validationQuery参数必须为一个非空字串。TestOnBorrow
指定连接被调用时是否经过校验。如果校验未通过,则该连接被连接池断掉,并由连接池尝试调用另一个连接。
指定连接返回到池中时是否经过校验。
注意:要想值为true时该设置生效,则validationQuery参数必须为一个非空字串。TestOnReturn
指定连接返回到池中时是否经过校验。
注意:要想值为true时该设置生效,则validationQuery参数必须为一个非空字串。ValidationInterval 以毫秒为单位验证时间间隔。
TimeBetweenEvictionRunsMillis 以毫秒表示的空闲对象驱逐进程由运行状态进入休眠状态的数值。值为非正数时表示不运行任何空闲对象驱逐进程。
MaxActive 池中 工作连接的最大个数,此值为非正数是表述不限制
InitialSize 以毫秒表示的当连接池中没有可用连接时等待可用连接返回的时间,超时则抛出异常,值为-1时无限期等待。
MaxWait 以毫秒表示的当连接池中没有可用连接时等待可用连接返回的时间,超时则抛出异常,值为-1时无限期等待。
MinIdle 池中最小空闲连接数,当连接数少于此值时,池会创建连接来补充到该值的数量
MaxIdle 池中允许的最大连接数,值为非正数时表示不限制
NumTestsPerEvictionRun 连接池检查每个空闲对象驱逐进程的对象数量(如果存在空闲对象驱逐进程)
MinEvictableIdleTimeMillis 以毫秒表示的连接被空闲对象驱逐进程驱逐前在池中保持空闲状态的最小时间(如果存在空闲对象驱逐进程)。
LogAbandoned
当清除无效连接时是否在日志中记录清除信息的标志。 记录无效的语句和连接,并附加每个连接开启或新建一个语句的系统开销。如果你启用了“removeAbandoned”,可能会导致被设为无效的连接被连接池回收。
这个机制将会在满足下列两个条件时启动:(getNumIdle() < 2) 和 (getNumActive() > getMaxActive() - 3)
例如:假设maxActive=20,而当前已经拥有18个活动连接,1个空闲连接,“removeAbandoned”机制将会启动。 但是只有在活动连接没有使用的时长超过“removeAbandonedTimeout”(默认为300秒)的连接被清除。在遍历结果集时,所使用的连接不会被标为活动连接。RemoveAbandoned
是否清除已经超过“removeAbandonedTimout”设置的无效连接。
如果值为“true”则超过“removeAbandonedTimout”设置的无效连接将会被清除。设置此属性可以从那些没有合适关闭连接的程序中恢复数据库的连接。
记录无效的语句和连接,并附加每个连接开启或新建一个语句的系统开销。RemoveAbandonedTimeout 以秒表示的清除无效连接的时限。
JdbcInterceptors
设置 tomcat jdbc 连接池的拦截器。
内置的拦截器: org.apache.tomcat.jdbc.pool.interceptor.ConnectionState
追踪自动提交、只读状态、catalog和事务隔离等级等状态
- tomcat jdbc pool 连接池配置
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介
- Tomcat 7连接池--Tomcat jdbc pool
- tomcat jdbc pool 配置
- Tomcat-Jdbc-Pool连接池参数说明
- 连接池配置c3p0、dbcp、tomcat jdbc pool 及常用数据库的driverClass和驱动包
- Spring - Tomcat jdbc pool 配置
- c3p0、dbcp、tomcat jdbc pool 连接池区别(推荐使用jdbc pool)
- C3P0、DBCP、Tomcat JDBC Pool 连接池区别(推荐使用JDBC Pool)
- c3p0、dbcp、tomcat jdbc pool 连接池区别(推荐使用jdbc pool)
- c3p0、dbcp、tomcat jdbc pool 连接池区别(推荐使用jdbc pool)
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- 连接池c3p0 ,Proxool ,Druid ,Tomcat Jdbc Pool对比测试
- Tomcat的新一代连接池jdbc-pool及实现分析
- 设计对于开发是很重要的
- java web几种开发模式
- 静默获取用户基本信息的一种方法
- ALV报表
- 2017 新起点
- tomcat jdbc pool 连接池配置
- 表格demo
- c c++ 在linux上编译
- 文件上传工具--dropzone.js
- 经典的机器学习方面源代码库 转载备用
- SpringMVC刘宝宝深度版
- Android开发将List转化为JsonArray和JsonObject
- IOC初认识
- iOS之网络—— NSURLSessionDataTask文件离线断点下载、NSURLSession文件上传、AFN基本使用、Cocoapods安装