快速查询等操作导致数据库session连接达到最大值的问题 因为你用了连接池,所以数据库连接使用完毕后只是被放回连接池,而不是立即被释放。但是你可以设置连接池的最大连接数,这样就不会达到oracle的最大session了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为你用了连接池,所以数据库连接使用完毕后只是被放回连接池,而不是立即被释放。但是你可以设置连接池的最大连接数,这样就不会达到oracle的最大session了。 配置的连接数目前是可以的。应该没有问题现在点击查询后,按理说oracle中的session应该可以立即释放,这一点我写了一个jsp直接使用连接池的连接测试的时候是可以做到立即释放的。但是在我们做的这个系统中,查看oracle的会话session,发现点击一次就多一个session,状态都是inactive。虽然在代码中释放了连接,然而这里却不能看到被释放了。而是等到3分钟后才能释放(前提是配置文件中使用default)。问题不在配置,而是请求后为什么oracle中没有关闭连接?这个和连接池有什么关系? 是不是自己写的连接池?如果是,肯定是connection的管理有问题;如果使用第三方的连接池,就仔细阅读配置文档吧。 你用的是啥连接池?? dbcp?? 如果用的是dbcp, 那把idle数调低 <?xml version="1.0" encoding="UTF-8"?> <something-else-entirely> <proxool> <alias>pool1</alias> <driver-url>jdbc:oracle:thin:@192.168.1.220:1521:test</driver-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <driver-properties> <property name="user" value="test"/> <property name="password" value="test"/> </driver-properties> <house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql> <house-keeping-sleep-time>10000</house-keeping-sleep-time> <maximum-new-connections>20</maximum-new-connections> <prototype-count>5</prototype-count> <maximum-connection-count>300</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count> </proxool></something-else-entirely>请各位大侠看看 最终找到问题的答案,和大家共享一下。我们使用的是hibernate3.1版本,出现上述问题。更新为hibernate3.0版本,问题得到解决。看来这个问题是否是3.1版本的bug???希望其他使用者注意。 Jboss7调用EJB3.0问题 动态菜单,给个提示吧 Axis2 自带例子 发布出错 解决立马揭帖 选择一个selecte标签使另一个按钮激活 spring 声明 事务管理 如何在类中获取spring上下文 急!! 急,关于struts显示的问题,一个循环 如何用TOMCAT(或RESIN)单步调试JSP代码(JBuilder)(UP有分) JAVA中最菜的问题? oracle + weblogic + jb9的数据库连接问题 struts不用打包成war能不能发布? 新手入门-怎样返回表的总数??
但是你可以设置连接池的最大连接数,这样就不会达到oracle的最大session了。
现在点击查询后,按理说oracle中的session应该可以立即释放,这一点我写了一个jsp直接使用连接池的连接测试的时候是可以做到立即释放的。但是在我们做的这个系统中,查看oracle的会话session,发现点击一次就多一个session,状态都是inactive。虽然在代码中释放了连接,然而这里却不能看到被释放了。而是等到3分钟后才能释放(前提是配置文件中使用default)。问题不在配置,而是请求后为什么oracle中没有关闭连接?这个和连接池有什么关系?
如果使用第三方的连接池,就仔细阅读配置文档吧。
<something-else-entirely>
<proxool>
<alias>pool1</alias>
<driver-url>jdbc:oracle:thin:@192.168.1.220:1521:test</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="test"/>
<property name="password" value="test"/>
</driver-properties>
<house-keeping-test-sql>select CURRENT_DATE from dual</house-keeping-test-sql>
<house-keeping-sleep-time>10000</house-keeping-sleep-time> <maximum-new-connections>20</maximum-new-connections> <prototype-count>5</prototype-count> <maximum-connection-count>300</maximum-connection-count> <minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
请各位大侠看看
我们使用的是hibernate3.1版本,出现上述问题。
更新为hibernate3.0版本,问题得到解决。看来这个问题是否是3.1版本的bug???
希望其他使用者注意。