服务器是tomcat6. 数据库oracle10g
使用struts2+hibernate3.2+spring2.5
配置
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxActive" value="100"/>
<property name="maxWait" value="1000"/>
<property name="poolPreparedStatements" value="true"/>
<property name="defaultAutoCommit" value="true"/>
</bean>
oracle的open_cursors是300个
一个action中最多的执行insert插入是200多次
运行一段时间后出现 超出打开游标的最大数 的错误
代码应该没什么问题,只是普通的存储save操作
用的是dbcp连接池,感觉是并没有归还游标资源,从而导致资源耗尽
是不是hibernate3并不太好支持dbcp,现在还没换成c3p0
不过近300的数据量非常之小,
已经解决,感谢关注
使用struts2+hibernate3.2+spring2.5
配置
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="maxActive" value="100"/>
<property name="maxWait" value="1000"/>
<property name="poolPreparedStatements" value="true"/>
<property name="defaultAutoCommit" value="true"/>
</bean>
oracle的open_cursors是300个
一个action中最多的执行insert插入是200多次
运行一段时间后出现 超出打开游标的最大数 的错误
代码应该没什么问题,只是普通的存储save操作
用的是dbcp连接池,感觉是并没有归还游标资源,从而导致资源耗尽
是不是hibernate3并不太好支持dbcp,现在还没换成c3p0
不过近300的数据量非常之小,
已经解决,感谢关注
本文介绍了一个使用Struts2、Hibernate3.2、Spring2.5的项目,在Tomcat6服务器上运行时遇到的Oracle数据库游标资源耗尽问题。通过分析,发现是由于DBCP连接池未能正确释放游标资源导致。文中提到了一些关键配置参数,并最终通过调整解决了该问题。
5227

被折叠的 条评论
为什么被折叠?



