- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DBCP连接池介绍目前 DBCP 有两个版本分别是 1.3 和 1.4。DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3。DBCP 1.4 版本需要运行于 JDK 1.6 ,支持 JDBC 4。1.3和1.4基于同一套源代码,含有所有的bug修复和新特性。因此在选择DBCP版本的时候,要看你用的是什么JDK版本。DBCP1.2版本性能一般,比c3p0差挺多。DBCP1.4和1.3,配合(依赖)commons pool 1.6的jar包,各方面功能、性能推进到新的高峰。相对1.2版本提高不少。超越(或相当)了c3p0.建议使用DBCP1.4或1.3 + ?commons pool 1.6?Tomcat7 中保留DBCP连接池,以兼容已有应用。并提供了新的Tomcat JDBC pool作为DBCP的可选替代。新出的Tomcat JDBC pool,据说比DBCP 1.4要好,未接触,也不在本文讨论范围内。?DBCP连接池配置参数讲解-----------------------------一、Apache官方DBCP文档给出的配置示例:可参见:/tomcat-6.0-doc/jndi-datasource-examples-howto.htmlContext Resource name=jdbc/TestDB auth=Container type=javax.sql.DataSource?maxActive=100 maxIdle=30 maxWait=10000?username=javauser password=javadude driverClassName=com.mysql.jdbc.Driver?url=jdbc:mysql://localhost:3306/javatest//Context?tomcat JDBC连接池配置示例,自动检查连接的可用性,dbcp定时检测连接,dbcp自动重连的配置Xml代码?Resource?name=jdbc/TestDB?JNDI数据源的name,查找时用:java:comp/env/jdbc/TestDB?type=javax.sql.DataSource?factory=org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory?driverClassName=com.mysql.jdbc.Driver?JDBC驱动类?url=jdbc:mysql://localhost:3306/test???characterEncoding=UTF-8amp;autoReconnectForPools=trueamp;rewriteBatchedStatements=trueamp;useCursorFetch=trueamp;defaultFetchSize=20?数据库URL地址?username=xxx?访问数据库用户名?password=xxx?访问数据库的密码??maxWait=3000?从池中取连接的最大等待时间,单位ms.?initialSize=10?初始化连接?maxIdle=60?最大空闲连接?minIdle=10?最小空闲连接?maxActive=80?最大活动连接??validationQuery?=?SELECT?1?验证使用的SQL语句?testWhileIdle?=?true?指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,则连接将被从池中去除.??testOnBorrow?=?false?借出连接时不要测试,否则很影响性能?timeBetweenEvictionRunsMillis?=?30000?每30秒运行一次空闲连接回收器?minEvictableIdleTimeMillis?=?1800000?池中的连接空闲30分钟后被回收?numTestsPerEvictionRun=10?在每次空闲连接回收器线程(如果有)运行时检查的连接数量??removeAbandoned=true?连接泄漏回收参数,当可用连接数少于3个时才执行?removeAbandonedTimeout=180?连接泄漏回收参数,180秒,泄露的连接可以被删除的超时值?/???DBCP连接池的自我检测-----------------------------默认配置的DBCP连接池,是不对池中的连接做测试的,有时连接已断开了,但DBCP连接池不知道,还以为连接是好的呢。应用从池中取出这样的连接访问数据库一定会报错。这也是好多人不喜欢DBCP的原因。?问题例一:MySQL8小时问题,Mysql服务器默认连接的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,M
文档评论(0)