应用程序执行完成后,查询数据库连接还有961个,应用程序开始跑之前只有300个左右。
SQL> select count(*) from v$session;
COUNT(*)
----------
961Spring连接池已经配置自动回收了:
removeAbandoned=true;
removeAbandonedTimeout=30只有重启websphere或者应用程序,连接数才会降下来,请问是不是spring连接池的问题?
SQL> select count(*) from v$session;
COUNT(*)
----------
961Spring连接池已经配置自动回收了:
removeAbandoned=true;
removeAbandonedTimeout=30只有重启websphere或者应用程序,连接数才会降下来,请问是不是spring连接池的问题?
解决方案 »
- 在jsp中引入js检查用户名长度,运行没有反应呢?帮忙看看哪出错了
- sybase left join问题
- 用java代码如何去调用winserver2003系统自带的证书服务。
- 请问如何让反馈页FORM表单中所有的问题提交后在另一个页面中显示出来
- 使用struts的org.apache.struts.upload.FormFile组件上传文件,如果大于40M虚拟机就提示错误
- 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
- Html文档在tomcat5.0.14中的乱码
- EJB经典问题之二----InitialContext 和 Context 的区别是什么?
- 请问如何调用已用jboss发布的beans。
- 关于XML在Java中应用的问题.
- ServerSocket的多线程问题
- sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)错误异常
dbcp连接无法释放,解决如下:
<property name="maxActive" value="100"/>
<property name="maxIdle" value="20"/>
<property name="maxWait" value="1000"/>
<property name="defaultAutoCommit" value="false"/>
<property name="removeAbandoned" value="true"/>
<property name="removeAbandonedTimeout" value="120"/> 配置属性文件时和参数详解: #连接池的最大数据库连接数,设为0 表示无限制。
dipatch.jdbc.maxActive=40
#数据库连接的最大空闲时间。超过此空闲时间,数据库连接将被标记为不可用,然后被释放。设为0 表示无限制。
dipatch.jdbc.maxIdle=30
#最大建立连接等待时间。如果超过此时间将接到异常。设为-1 表示无限制。
dipatch.jdbc.maxWait=10000
dipatch.jdbc.defaultAutoCommit=true
#回收被遗弃的(一般是忘了释放的)数据库连接到连接池中。
dipatch.jdbc.removeAbandoned=true
# 数据库连接过多长时间不用将被视为被遗弃而收回连接池中。
dipatch.jdbc.removeAbandonedTimeout=30
# 将被遗弃的数据库连接的回收记入日志。
dipatch.jdbc.logAbandoned=true
destroy-method="close">
我的配置信息:
<bean id="DataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>${crmDatabase}</value>
</property>
<property name="username">
<value>${crmUser}</value>
</property>
<property name="password">
<value>${crmPasswd}</value>
</property>
<property name="maxActive">
<value>${crmmaxActive}</value>
</property>
<property name="maxIdle">
<value>${crmmaxIdle}</value>
</property>
<property name="minIdle">
<value>${crmminIdle}</value>
</property>
<property name="removeAbandonedTimeout">
<value>${removeAbandonedTimeout}</value>
</property>
<property name="removeAbandoned">
<value>true</value>
</property>
<property name="initialSize">
<value>${crminitialSize}</value>
</property> <property name="accessToUnderlyingConnectionAllowed">
<value>true</value>
</property>
</bean>
程序没有关闭,我是使用SPRING JDBCTEMPLATE进行数据库操作的