jboss连接oracle失败原因,oracle – JBoss连接池的意外问题

我花了最后几天试图在几天前提出的开发过程中找到一些新问题的原因……而我还没有找到它.但我找到了解决方法.但让我们从问题本身开始.

我们使用JBoss EAP 6.1.0.GA(AS 7.2.0.Final-redhat-8)作为我们的应用服务器,用于一个相当大的企业项目. JPA层由Hibernate Core {4.2.0.Final-redhat-1}使用连接Oracle 11.2.0.3.0的oracle.jdbc.OracleDriver(版本11.2)处理.

几个星期前,一切都按预期工作,我们没有数据库相关的问题.我们使用以下数据源:

jdbc:oracle:thin:@192.168.0.93:1521:DEV

oracle

TRANSACTION_READ_COMMITTED

1

20

true

false

FailingConnectionOnly

MY_DB

pass

大多数时候我们有5-10个打开的连接,使用1-3个(单个开发环境)……池保持这个级别并且工作得很好.

但是对我们的代码进行了一些未知的更改,池停止工作……不再释放它的连接……甚至根本没有重复使用它们!它花了一些简单的请求来填充池,最多连接20个连接,JPA拒绝任何新的数据库查询.

我们花了几天的时间来查找代码的相关更改……但没有成功!

今天我发现了一种解决方法.我们稍微更改了persistence.xml:

org.hibernate.ejb.HibernatePersistence

java:/myDS

将hibernate.connection.release_mode从after_transaction更改为after_statement就可以了.但之前从未接触过这种设定.现在连接按预期释放,并且池再次可用.

我不明白为什么after_transaction不再起作用…因为提交了更改.我们在数据库中看到了所有这些东西.提交交易应该结束 – 不是吗?

虽然我发现这个简单的解决方法我真的知道了这个问题.我没有把这种知识推迟到制作时间的感觉.所以任何反馈都非常感谢!谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值