Tomcat 6 连接池设置

Tomcat6的配置和以前的不同,不推荐在server.xml中进行配置,而是在context.xml中进行配置才是更好的方法。是站点目录下的context.xml文件,不是tomcat_home\conf下的。tomcat_home\webapps\yourApp\META-INF\context.xml,没有的话就创建一个,这样可以在不同的网站下单独配置连接池了,并且不需要重启Tomcat,Tomcat会自动重载。

context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--<Manager pathname="" />-->

<Resource
name="jdbc/test"
auth="Container"
type="javax.sql.DataSource"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://192.168.0.2:1433/test"
username="test"
password="test"
maxActive="20"
maxIdle="10"
maxWait="-1"/>
</Context>


dbcp:
driverClassName
url
username
password
上面四个分别是驱动,连接字符串,用户名和密码

maxActive 连接池支持的最大连接数
maxIdle 连接池中最多可空闲maxIdle个连接
minIdle 连接池中最少空闲maxIdle个连接
initialSize 初始化连接数目
maxWait 连接池中连接用完时,新的请求等待时间,毫秒
timeBetweenEvictionRunsMillis timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis一起使用,每

timeBetweenEvictionRunsMillis毫秒秒检查一次连接池中空闲的连接,把空闲时间超过minEvictableIdleTimeMillis毫秒的连接断开,直到连接池中的连接数到minIdle为止

minEvictableIdleTimeMillis 连接池中连接可空闲的时间,毫秒

removeAbandoned true,false,是否清理removeAbandonedTimeout秒没有使用的活动连接,清理后并没有放回连接池
removeAbandonedTimeout 活动连接的最大空闲时间
logAbandoned true,false,连接池收回空闲的活动连接时是否打印消息

minEvictableIdleTimeMillis,removeAbandonedTimeout这两个参数针对的连接对象不一样,minEvictableIdleTimeMillis针对连接池中的连接对象,removeAbandonedTimeout针对未被close的活动连接.

在dbcp使用中遇到的问题:
当短时间之内活动连接达到maxActive,再请求连接,等maxWait秒后连接池就会报出错来:Cannot get a connection, pool exhausted.在这maxWait秒里removeAbandoned并没有起作用,出错后连接池就会把所有的连接断开,为什么这时候removeAbandoned没有起作用呢?

c3p0:
driverClass
jdbcUrl
user
password
minPoolSize
maxPoolSize
initialPoolSize

acquireIncrement 池中没有空闲连接时,一次请求获取的连接数
maxIdleTime 池中连接最大空闲时间
acquireRetryAttempts 获取连接失败后,重新尝试的次数
acquireRetryDelay 尝试连接间隔时间,毫秒
checkoutTimeout 等待连接时间,0为无限等待,毫秒
DebugUnreturnedConnectionStackTraces true,false,是否收回未返回的活动连接
unreturnedConnectionTimeout 活动连接的时间.

c3p0中的问题:
unreturnedConnectionTimeout是给每个活动连接一个时间限制,到点儿就收回,不管有没有正在使用连接.这样不是太好,应该是从最后一次使用连接才开始计时才好.那有没有这样的一个参数从最后一次使用计时呢?
Java软件工程师推荐书籍:
[url=http://s.click.taobao.com/t_1?i=qX6heR6BFiSTjQ%3D%3D&p=mm_12504564_0_0&n=11]开发者突击:Struts 2核心技术与Java EE框架整合开发实战[/url]
[url=http://s.click.taobao.com/t_1?i=qvQpL6SZGYGlrA%3D%3D&p=mm_12504564_0_0&n=11]轻量级Java EE企业应用实战——Struts 2+Spring+Hibernate[/url]
[url=http://s.click.taobao.com/t_1?i=qvQpL6vYNMZXEg%3D%3D&p=mm_12504564_0_0&n=11]JAVA核心技术卷II:高级特性[/url]
[url=http://s.click.taobao.com/t_1?i=qv8XTF3qhryssA%3D%3D&p=mm_12504564_0_0&n=11]全新正版《Java程序设计应用基础教程》石号仓[/url]
[url=http://s.click.taobao.com/t_1?i=qvQuvsHw%2FBysSg%3D%3D&p=mm_12504564_0_0&n=11]Java编程思想(第4版)[/url]

[url=http://www.wegoto.cn]网购通[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值