文档章节

tomcat 连接池

夜黑人模糊灬
 夜黑人模糊灬
发布于 2017/09/29 12:15
字数 1596
阅读 9
收藏 1
点赞 0
评论 0
<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>

 

© 著作权归作者所有

共有 人打赏支持
夜黑人模糊灬
粉丝 7
博文 67
码字总数 45043
作品 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
Spring Boot学习笔记-SQL数据库使用

初次看到Spring Boot关于SQL数据库的数据源配置时,笔者是傻脸的节奏。笔者之前的工作开发中,用过应用级别的c3p0连接池技术(踩过一个连接总是耗尽的坑),后来改用了Tomcat服务器JNDI获取数...

chace0120
2015/12/29
2.6K
0
Tomcat连接超时,Tomcat连接池怎么配置

使用Apache Tomcat发布的Java Web项目,连接的SQL Server数据库操作,第二天再继续操作程序返回接超时错误;怎么解决Tomcat是否需要配置连接池,如若需要配置连接池怎么配置,如果连接两个不...

時間會抹平那些皺褶遺
2016/08/09
324
0
使用 Tomcat 7 新的连接池 —— Tomcat jdbc pool

Tomcat 在 7.0 以前的版本都是使用 commons-dbcp 做为连接池的实现,但是 dbcp 饱受诟病,原因有: dbcp 是单线程的,为了保证线程安全会锁整个连接池 dbcp 性能不佳 dbcp 太复杂,超过 60 个...

红薯
2012/01/25
68.3K
24
tomcat如何重新连接数据库

环境tomcat7,sql server 2005,连接池tomcat-jdbc tomcat启动后,sql server断开重启后,连接池里原有的连接失效。这种情况下如何在不重启tomcat的情况下重新连接数据库啊,急...

小红帽吃香蕉
2013/12/27
1K
2
Tomcat8的jvm和线程池配置

目标 配置Tomcat的jvm的响应时间较短 配置Tomcat的连接池尽可能的高效 jvm启动参数 沿用文章tomcat中配置文件之setenv.sh提到的配置文件,配置如下: 增加的参数作用: :优先启用G1垃圾回收器...

亚林瓜子
05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

流利阅读笔记29-20180718待学习

高等教育未来成谜,前景到底在哪里? Ray 2018-07-18 1.今日导读 在这个信息爆炸的年代,获取知识是一件越来越容易的事情。人们曾经认为,如此的时代进步会给高等教育带来众多便利。但事实的...

aibinxiao
14分钟前
6
0
第15章FTP服务搭建与配置

15.1FTP介绍 FTP多用于Windows传文件到linux rz sz在文件超过4G,就无法使用了——>安装包yum install -y install lrzsz rz把 window 上的文件传输到 linux 上 sz 把 linux 上的文件传输到 ...

Linux学习笔记
22分钟前
0
0
OSChina 周三乱弹 —— 你被我从 osc 老婆们名单中踢出了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小鱼丁:分享五月天的单曲《后来的我们 (电影《后来的我们》片名曲)》: 《后来的我们 (电影《后来的我们》片名曲)》- 五月天 手机党少年们想...

小小编辑
27分钟前
6
1
Spring Boot Admin 2.0开箱体验

概述 在我之前的 《Spring Boot应用监控实战》 一文中,讲述了如何利用 Spring Boot Admin 1.5.X 版本来可视化地监控 Spring Boot 应用。说时迟,那时快,现在 Spring Boot Admin 都更新到 ...

CodeSheep
46分钟前
0
0
Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放、私密、独享代理,并可免费试用 米扑代理官网:https://proxy.mimvp.com 本文示例,是结合米扑代理的私密、独享、开放代理,专...

sunboy2050
今天
0
0
实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部