文档章节

tomcat 连接池

夜黑人模糊灬
 夜黑人模糊灬
发布于 2017/09/29 12:15
字数 1596
阅读 10
收藏 1
<bean class="org.apache.tomcat.jdbc.pool.PoolProperties">
    <property name="url" value="${jdbcUrl}"/>
    <!--数据库驱动-->
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <!--用户名-->
    <property name="username" value="mysql"/>
    <!--密码-->
    <property name="password" value="123456"/>
    <!--注册池JMX,默认:true-->
    <property name="jmxEnabled" value="false"/>
    <!--检查连接死活的时间间隔,单位:毫秒-->
    <property name="validationInterval" value="30000"/>
    <!--指定连接进入空闲状态时是否经过空闲对象驱逐进程的校验,如果校验未通过,则该连接被连接池断掉
     值为true,则validationQuery参数必须为一个非空字串---->
    <property name="testWhileIdle" value="false"/>
    <!--指定连接返回到池中是时是否经过校验
     值为true,则validationQuery参数必须为一个非空字串---->
    <property name="testOnReturn" value="false"/>
    <!--指定连接被调用时是否经过校验,如果校验未通过,则该连接被连接池断掉,并由连接池尝试调用另一个连接
     值为true,则validationQuery参数必须为一个非空字串-->
    <property name="testOnBorrow" value="true"/>
    <!--在连接返回给调用者前用于校验连接是否有效的SQL语句,如果指定了SQL语句,则必须为一个SELECT语句,且至少有一行结果-->
    <property name="validationQuery" value="select 1"/>
    <!--连接池处于活动状态的数据库连接的最大数目,0表示不限制,表示最大并发-->
    <property name="maxActive" value="1000"/>
    <!--初始化连接数-->
    <property name="initialSize" value="10"/>
    <!--连接池中连接用完时,新的请求的等待时间(即等待别的连接空闲),超时返回异常,毫秒-->
    <property name="maxWait" value="100000"/>
    <!--以毫秒表示空闲对象驱逐进程由休眠状态进入运行状态的数值,值为非正整时表示不运行任何空闲对象驱逐进程
     运行判断连接超时任务的时间间隔-->
    <property name="timeBetweenEvictionRunsMillis" value="30000"/>
    <!--以毫秒表示连接被空闲对象驱逐进程驱逐前在池中保持空闲状态的最小时间,连接的超时时间,默认为半小时-->
    <property name="minEvictableIdleTimeMillis" value="30000"/>
    <!--连接池检查每个空闲对象驱逐进程的对象数量
        <property name="numTestPerEvictionRun" value="3"/>
    -->
    <!--连接池处于空闲状态的数据库连接的最小数目,低于此数值将会创建所欠缺的连接,设0无限制-->
    <property name="minIdle" value="10"/>
    <!--连接池处于空闲状态的数据库连接的最大数目,取非正整数表示不受限制,超过此数值时多余的空闲连接将会被释放-->
    <property name="maxIdle" value="200"/>
    <!--当清除无效连接时是否在日志中记录清除信息的标志-->
    <property name="logAbandoned" value="false"/>
    <!--是否清除已经超过 removeAbandonedTimeout 设置的无效连接,自动回收超时连接
     启动机制:getNumActive() > getMaxActive() - 3 和 getNumIdle() < 2
     假设maxActive=20,而当前18个活动连接,1个空闲连接,机制将会启动
     但是只有在活动连接没有使用的时长超过“removeAbandonedTimeout”(默认300秒),的连接将被清除-->
    <property name="removeAbandoned" value="true"/>
    <!--以秒表示清除无效连接的时限,自我中断时间,单位秒-->
    <property name="removeAbandonedTimeout" value="60"/>
    <!--设置拦截器,默认为空
     ConnectionState:跟踪自动提交,只读目录和事务隔离级别
     StatementFinalizer:跟踪打开的语句,并关闭连接时的返回到池中
     -->
    <property name="jdbcInterceptors" value="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"/>
</bean>

DBCP2

<bean id="datasource2" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="url" value="${jdbcUrl}"/>
    <!--数据库驱动-->
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <!--用户名-->
    <property name="username" value="mysql"/>
    <!--密码-->
    <property name="password" value="123456"/>
    <!-- 指定连接进入空闲状态时是否经过空闲对象驱逐进程的校验,如果校验未通过,则该连接被连接池断掉
     值为true,则validationQuery参数必须为一个非空字串 -->
    <property name="testWhileIdle" value="false"/>
    <!-- 指定连接返回到池中是时是否经过校验
     值为true,则validationQuery参数必须为一个非空字串 -->
    <property name="testOnReturn" value="false"/>
    <!--指定连接被调用时是否经过校验,如果校验未通过,则该连接被连接池断掉,并由连接池尝试调用另一个连接
     值为true,则validationQuery参数必须为一个非空字串-->
    <property name="testOnBorrow" value="true"/>
    <!--在连接返回给调用者前用于校验连接是否有效的SQL语句,如果指定了SQL语句,则必须为一个SELECT语句,且至少有一行结果-->
    <property name="validationQuery" value="select 1"/>
    <!--连接池处于活动状态的数据库连接的最大数目,0表示不限制,表示最大并发-->
    <property name="maxTotal" value="1000"/>
    <!--初始化连接数-->
    <property name="initialSize" value="10"/>
    <!--连接池中连接用完时,新的请求的等待时间(即等待别的连接空闲),超时返回异常,毫秒-->
    <property name="maxWaitMillis" value="100000"/>
    <!--以毫秒表示空闲对象驱逐进程由休眠状态进入运行状态的数值,值为非正整时表示不运行任何空闲对象驱逐进程
     运行判断连接超时任务的时间间隔-->
    <property name="timeBetweenEvictionRunsMillis" value="30000"/>
    <!--以毫秒表示连接被空闲对象驱逐进程驱逐前在池中保持空闲状态的最小时间,连接的超时时间,默认为半小时-->
    <property name="minEvictableIdleTimeMillis" value="30000"/>
    <!--连接池检查每个空闲对象驱逐进程的对象数量
        <property name="numTestPerEvictionRun" value="3"/>
    -->
    <!--连接池处于空闲状态的数据库连接的最小数目,低于此数值将会创建所欠缺的连接,设0无限制-->
    <property name="minIdle" value="10"/>
    <!--连接池处于空闲状态的数据库连接的最大数目,取非正整数表示不受限制,超过此数值时多余的空闲连接将会被释放-->
    <property name="maxIdle" value="200"/>
    <!--当清除无效连接时是否在日志中记录清除信息的标志-->
    <property name="logAbandoned" value="false"/>
    <!--是否清除已经超过 removeAbandonedTimeout 设置的无效连接,自动回收超时连接
     启动机制:getNumActive() > getMaxActive() - 3 和 getNumIdle() < 2
     假设maxActive=20,而当前18个活动连接,1个空闲连接,机制将会启动
     但是只有在活动连接没有使用的时长超过“removeAbandonedTimeout”(默认300秒),的连接将被清除
     只有在timeBetweenEvictionRunsMillis设置为正数的情况下才有效 -->
    <property name="removeAbandonedOnMaintenance" value="true"/>
    <property name="removeAbandonedOnBorrow" value="true"/>
    <!--设置数据库连接被释最多空闲时间多少秒之后设置为空闲,单位秒-->
    <property name="removeAbandonedTimeout" value="60"/>
</bean>

 

© 著作权归作者所有

共有 人打赏支持
上一篇: 聊聊JNDI
下一篇: SHA256 代码
夜黑人模糊灬
粉丝 9
博文 74
码字总数 46504
作品 0
程序员
私信 提问
Resin服务器简介、Resin服务器配置说明、Resin配置连接池

一.Resin服务器简介 稍后补: 1、稍后补; 2、稍后补; 二.Resin服务器配置说明(resin.conf配置详解) 三.Resin配置连接池 连接池的概念: 在动态web站点设计中,数据库已成为必不可少的一部...

谢思华
2013/11/13
0
0
数据库连接池

这两天公司的事情不忙,看了一下ssh的框架,在看spring框架的时候看到数据源这一块。就想知道数据源这一块是怎么实现的,以前也有学习过数据源,但感觉没那么系统。在网上看到一个详细介绍数...

zdatbit
2016/05/12
66
0
c3p0、dbcp、tomcat jdbc pool 连接池区别

查看资料,得知dbcp和c3p0都是单线程的,在高并发的环境下性能会非常低下, 决定换用tomcat自带的jdbc-pool,关于jdbc-pool的项目介绍。 区别参考链接:http://www.open-open.com/lib/view/o...

张嘴吃药
2017/10/30
0
0
JDBC Item5: 数据库连接池

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

_Roger_
2016/01/27
44
0
数据库连接池操作步骤及遇到的相应问题

tomcat是非常敏感的,在做改动后一定要重新加载tomcat 今天在用数据库连接池时总显示,数据库未绑定错误。因为之前用的是:dbcp.properties #---------------------------基本设置---------...

hiqj
2013/03/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

jquery通过id显示隐藏

var $div3 = $('#div3'); 显示 $div3.show(); 隐藏 $div3.hide();

yan_liu
今天
3
0
《乱世佳人》读书笔记及相关感悟3900字

《乱世佳人》读书笔记及相关感悟3900字: 之前一直听「荔枝」,后来不知怎的转向了「喜马拉雅」,一听就是三年。上班的时候听房产,买房了以后听装修,兴之所至时听旅行,分手后听亲密关系,...

原创小博客
今天
3
0
大数据教程(9.6)map端join实现

上一篇文章讲了mapreduce配合实现join,本节博主将讲述在map端的join实现; 一、需求 实现两个“表”的join操作,其中一个表数据量小,一个表很大,这种场景在实际中非常常见,比如“订单日志...

em_aaron
今天
3
0
cookie与session详解

session与cookie是什么? session与cookie属于一种会话控制技术.常用在身份识别,登录验证,数据传输等.举个例子,就像我们去超市买东西结账的时候,我们要拿出我们的会员卡才会获取优惠.这时...

士兵7
今天
3
0
十万个为什么之为什么大家都说dubbo

Dubbo是什么? 使用背景 dubbo为什么这么流行, 为什么大家都这么喜欢用dubbo; 通过了解分布式开发了解到, 为适应访问量暴增,业务拆分后, 子应用部署在多台服务器上,而多台服务器通过可以通过d...

尾生
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部