【发布时间】:2011-04-05 21:54:26
【问题描述】:
在一个运行 Eclipse Helios SR2、Windows 7 和 Tomcat 6.0.32 的开发人员工作站上,我们遇到了一个非常奇怪的重复 JNDI 连接池的情况
- 从 Eclipse 运行 tomcat
- server.xml
>
<Context docBase="path to web app" path="/ds-web" reloadable="true">
<Resource
name="jdbc/ds"
username="ds"
password="pass"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost:5432/ds"
auth="Container"
driverClassName="org.postgresql.Driver"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
logAbandoned="true"
maxActive="30"
maxIdle="10"
maxWait="1000"
removeAbandoned="true"
removeAbandonedTimeout="60"
validationQuery="SELECT 1"
testOnBorrow="true"
testOnReturn="true"/>
</Context>
- 启动服务器时,在控制台上我们连续看到以下 3 次
AbandonedObjectPool is used
(org.apache.commons.dbcp.AbandonedObjectPool@11aa58b)
LogAbandoned: true
RemoveAbandoned: true
RemoveAbandonedTimeout: 60
- 然后应用程序找不到 JNDI 资源
- 如果我们删除
server.xml中的<Resource>,那么控制台会显示根本没有创建连接池 - 在另一台具有相同硬件和操作系统的开发人员机器上,我们没有这个问题
有什么想法吗? 谢谢
马克
【问题讨论】: