tomcat7 mysql 连接池_Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置
Tomcat 在 7.0 以前的版本都是使用commons-dbcp做为连接池的实现,但是 dbcp存在一些问题:
(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 中直接使用,也可以在独立的应用中使用。
1.Tomcat 中直接使用的方法:
在conf/server.xml下的节点里配置resource,例如:
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testWhileIdle="true"
testOnBorrow="true"
testOnReturn="false"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="true"
minEvictableIdleTimeMillis="30000"
jmxEnabled="true"
jdbcInterceptors=
"org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer"
username="root"
password="123"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/ens"/>
然后,在context.xml文件的节点中添加如下配置:
global="jdbc/ens" 中的参数值("jdbc/ens")必须和上一段配置中的name属性的值保持一样。name="jdbc/ens" 这个可以随便取,但是在程序中调用的时候,就应该与name的值保持一致。到这里,连接池已经配置好啦。
用JSP测试一下:
//连接池的获取
Connection conn = null;
DataSource ds = null;
ResultSet rs =null;
Statement stmt = null;
Context initCtx = new InitialContext();
ds =(DataSource)initCtx.lookup("java:comp/env/jdbc/ens");
if(ds!=null){
out.println("已经获得DataSource!");
out.println("
");
conn = ds.getConnection();
try{
stmt = conn.createStatement();
String sql ="select * from ens_area";
rs = stmt.executeQuery(sql);
out.println("以下是从数据库中读取出来的数据:
");
while(rs.next()){
out.println("
");
out.println(rs.getString("area_name"));
}
}catch(Exception ex){
ex.printStackTrace();
}finally{
conn.close();
rs.close();
stmt.close();
}
}
%>
http://www.open-open.com/lib/view/open1365991769687.html
tomcat7 mysql 连接池_Tomcat7 新的数据库连接池Tomcat jdbc pool介绍和配置相关推荐
- mysql配置数据库连接池_三种数据库连接池的配置
三种数据库连接池的配置及使用(For JDBC) 连接池的优缺点 优点 使用连接池的最主要的优点是性能.创建一个新的数据库连接所耗费的时间主要取决于网络的速 度以及应用程序和数据库服务器的 ( 网络 ...
- 连接池及Druid(德鲁伊) 数据库连接池
连接池及Druid(德鲁伊) 数据库连接池 一.数据库连接池 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个:释放空闲时间超过最大空闲时间 ...
- hikaripool连接保持_springboot2的hikari数据库连接池默认配置
序 Spring-Boot-2.0.0-M1版本将默认的数据库连接池从tomcat jdbc pool改为了hikari,这里主要研究下hikari的默认配置 spring-configuration ...
- 手写java数据库连接池,自定义实现数据库连接池,兼容springboot
一.目标 用精简的代码实现一个类似于Hikari,Druid一样的高性能数据库连接池. 二.实现思路 1:新建连接池配置类保存连接池配置. 2:实现DataSource接口. 3:新增SmpDbPoo ...
- java阿里数据库连接池_Java学习:数据库连接池技术
本节内容 数据库连接池 Spring JDBC : JDBC Template 数据库连接池 1.概念:其实就是一个容器(集合),存放数据库连接的容器 当系统初始化好后,容器中会申请一些连接对象,当用 ...
- asp.net mysql 连接池_asp.net 使用数据库连接池
数据库连接数过万的真相,原来我们错怪阿里云RDS了 在一次数据库连接问题中,我们坚持认为数据库连接数过万是阿里云RDS的问题,但后来阿里云提供了当时的数据库连接情况,让我们动摇了自己的想法. 上面这5 ...
- mysql连接池的原理_数据库连接池的实现及原理
对于一个简单的数据库应用,由于对于数据库的访问不是很频繁.这时可以简单地在需要访问数据库时,就新创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销.但是对于一个复杂的数据库应用,情况 ...
- spring boot socket长连接_springboot 整合阿里 druid 数据库连接池实战
情景 web 开发中连接数据库基本是必须的,阿里的 druid 是一款非常优秀的开源数据库连接池工具. 本文将介绍一下如何使用 springboot 整合 druid 数据源. 快速开始 maven ...
- mysql 常用数据库连接池_常见的数据库连接池
欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 2.C3P0 在Hibernate和Spring中默认支持该数据库连接池 需要引入:c3p0-0.9.1.2.jar包,如果 ...
最新文章
- 报名 | 挑战极限,参加2天清华数据Hackathon,赢得4万元奖金
- Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)...
- 7个示例科普CPU Cache
- Python通过snmp获取交换机VLAN号、VLAN默认网关、VLAN子网掩码和ARP表中的IP地址与MAC对应记录数据
- RTOS ---嵌入式操作系统之时钟节拍下的任务切换
- 使用ASP.NET MVC对用户组的自定义授权
- IT职场人生系列之十二:语言与技术I
- bzoj 4318 OSU!
- Vue.js身份证读卡器阅读器谷歌chrome火狐Firefox网页实现读取方法
- 中级职称的计算机考试题库,中级职称计算机考试模拟题库及答案
- 【参数】平面光:倍增为3.5,颜色为淡蓝色/淡——daiding
- 计算机科学与技术专业论文评语,计算机论文指导教师评语大全.doc
- R语言 dataframe 取指定行列filter 随机取数
- 老毛桃制作winPE镜像
- 基于两个移动平均线交叉的EA
- 应软”治理大学生上课玩手机现象
- sql外键需要输入吗_关于sql:为什么在没有连接的情况下可以联接,为什么需要主-外键关系?...
- 【自学笔记】尚硅谷数据结构与算法Chapter 2 稀疏数组和队列
- 论文:CVPR2020 | Strip Pooling:语义分割新trick,条纹池化取代空间池化
- 基于VMware虚拟机安装Ubuntu
热门文章
- 病毒注册表常用目标Svchost和Explorer
- cannot be cast to org.springframework.web.method.HandlerMethod 统一异常处理发生异常。
- 鸡啄米vc++2010系列12(属性页对话框)
- Windows Phone 7 处理休眠和墓碑的恢复
- 使用工具(Database Configuration Assistant)创建Oracle数据库
- 博客园是否提供trackback的rss
- python基本运算符
- iOS中使用UIActivityViewController系统分享到微信QQ微博包含文字图片URL
- jquery元素插入、删除、清空
- CURL 错误码 中文翻译