我们在Websphere 6.1上运行我们的应用程序,并且我们访问了Oracle 10g数据库。 在过去的几天里,我们注意到日志中存在以下错误 J2CA0045E:为资源jdbc / xxxxx调用createOrWaitForConnection方法时连接不可用。
该应用程序似乎挂起,然后在20分钟后纠正自己。 我们的连接池目前允许50个连接,我们的数据库允许1200个会话。
我们无法在质量检查环境中重现这一点。 有没有人对我们如何重新创建这个问题有任何想法,或者对我们如何在生产环境中解决它的任何想法?
由于 达明
答案 0 :(得分:1)
好吧,如果你无法在QA中复制问题,我会开始识别2个环境的差异,并在可能的情况下更改QA以反映Prod。你用的是什么服务器?你可以在WTE上复制它吗(如果你正在运行它?)你确定服务器的两个版本是相同的......你说6.1 ......但是在启动时仔细观察:寻找类似的东西?
************开始显示当前环境************ 使用进程名称C001209912Node01Cell \ C001209912Node01 \ server1和进程ID 8720运行的WebSphere Platform 6.0 [BASE 6.0.2.5 cf50549.21]
确认您有相同的刷新包等?
答案 1 :(得分:0)
应用程序是否可能在非常特定的条件下未正确释放其连接?例如,也许不是在“终于”这样做了?因此,在生产中,这种情况比在质量保证中更常发生,因为数据和活动不同?
通过监控连接状态,使用TPV或您喜欢的任何工具,您应该能够看到正在发生的事情。我希望在一段暂停期后看到“孤儿”连接被整理好 - 这将适合你所看到的恢复周期。
通过一些努力,您可以启用足够的websphere跟踪来查看连接的分配和释放,并且应该能够看到不匹配的对。
我会对最近部署的应用进行代码审核。查找连接打开并检查合适的“finally”块。