环境:
weblogic 9+orcale91+unix错误:
Cannot get a connection, pool exhausted,然后 一个application 再也获取不了connection,总报这个错误。检测code,暂时没有发现connection没有关闭的错误。但是在log中发现,还有一个错误,因为另外一个task是,经常会运行的,
这个task会一直报错:The connection is closing while there are still uncommitted transactions.
就是说一个connection 被commit后,后面接着又有 一些对数据库的操作,但是那些操作可能没有被commit.我在想 这个会不会是 connection, pool exhausted 的原因,如果是的话,可不可以帮忙分析一下原因,还望大家给点意见。
weblogic 9+orcale91+unix错误:
Cannot get a connection, pool exhausted,然后 一个application 再也获取不了connection,总报这个错误。检测code,暂时没有发现connection没有关闭的错误。但是在log中发现,还有一个错误,因为另外一个task是,经常会运行的,
这个task会一直报错:The connection is closing while there are still uncommitted transactions.
就是说一个connection 被commit后,后面接着又有 一些对数据库的操作,但是那些操作可能没有被commit.我在想 这个会不会是 connection, pool exhausted 的原因,如果是的话,可不可以帮忙分析一下原因,还望大家给点意见。
解决方案 »
- 怎样用forEach拿list中的对象呢?
- java调用word,如何在调用公式编辑器并写入生成的参数
- Javascript中取textfield值的问题
- ireport中如何求总记录数?
- 连接不到mysql,求教
- JSP+SQLServer 运行中出现的一个问题 麻烦会的帮我解答下。
- [求助]用javascript对表格进行分页!!!
- struts调用action后刷新页面的问题。
- jsp初级问题(二)
- SSH框架web项目与底层c++程序通信
- 请问在xp系统中已安装了SQLServer2005,再安装Oracle.10g会有冲突吗?
- 如何对WebServices进行非对称加密,Java端加密,net端解密?
你的connection pool中链接上限搞大点试试看
我可能没有说清楚,pool中的connnection是已经耗尽,我想找出为什么会耗尽。
因为不解决的话,可能就算增大了,以后还是会耗尽。
现在我怀疑是不是有可能 是因为uncommitted transactions,
因为如果有很多uncommitted transactions,这些connection 会不会返回connection pool呢?
其实我怀疑的问题就是,
如果有很多uncommitted transactions,这些connection 会不会等conn.close后立即返回connection pool呢?
还是说 要有一段时间去 响应,如果这些uncommitted transactions要去被执行或者被抛弃的话。
这样的话,uncommitted transactions 会不会占着connection 不释放到connection pool中去。
1)连接池小了
2)事务结束没有释放资源
3)数据库事务过长,迟迟不释放,占用了连接池
4)事务隔离级别不合理,等级过高
5)事务死锁以上的本质都是连接池不够用了,先检视下代码,排除资源没有释放的bug
再调整一下事务隔离级别(Hibernate,jdbc,weblogic或者oracle中都可以设置)修改完毕后适当增加连接池容量,加大10%-20%
我想应该是资源没有释放connection,但是在想办法查为什么,
目前只发现有很多uncommitted transactions, 不知道这个会不会导致connetion 没有被释放。
1重启tomcat服务器
2吧maxactive值调大
3在finally中关闭conn
如果很多个connection 没有被 commit,
会不会对connection pool有影响,
有没有人能从这个上面给点意见,明天揭帖,谢谢!