tomcat连接池配置详解
2015-12-22 15:38
495 查看
<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"/> <!--检查连接死活的时间间隔,单位:毫秒 注意该处不能设置得过大,<span style="color:#FF0000;">testOnBorrow\testOnReturn\testWhileIdle 都依赖于本参数,否则自动断线重连将很久才能生效</span>--> <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"/> <!--验证连接查询语句超时时间 --> <property name="validationQueryTimeout" value="select 1"/> <!--连接池处于活动状态的数据库连接的最大数目,0表示不限制,表示最大并发--> <property name="maxActive" value="1000"/> <!--初始化连接数--> <property name="initialSize" value="10"/> <!--连接池中连接用完时,新的请求的等待时间(即等待别的连接空闲),超时返回异常,毫秒--> <property name="maxWait" value="100000"/> <!--以毫秒表示空闲对象驱逐进程由休眠状态进入运行状态的数值,值为非正整时表示不运行任何空闲对象驱逐进程 运行判断连接超时任务的时间间隔 timeBetweenEvictionRunsMillis 与 minEvictableIdleTimeMillis 联合使用 --> <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>
相关文章推荐
- tomcat加载不了spring-webjar终极解决办法
- Tomcat结合nginx使用小结
- MyEclipse Web Project导入Eclipse Dynamic Web Project,无法部署到tomcat问 题
- linux(centos) java+apache+tomcat配置
- 在Tomcat部署Solr
- Tomcat 7遇到StackOverflowError的异常的解决办法
- Tomcat 初探(一) 简介
- Myeclipse远程调试Windows下的Tomcat
- 【Linux运维入门】Linux环境安装配置TomCat
- tomcat实现SSL配置
- tomcat manager详解
- 关于tomcat服务器无法打开文件名为中文名的页面的问题
- 通过域名访问项目,tomcat配置
- Linux下Tomcat的安装配置 去掉应用名称
- tomcat的运行脚本
- Eclipse集成Tomcat(web容器)
- Tomcat acceptCount参数
- Eclipse配置Tomcat服务器
- Tomcat中文乱码问题的原理和解决方法
- 升级到tomcat8时Artifact SpringMvcDemo:war exploded: Server is not connected. Deploy is not