我们的应用程序是一个 J2EE 应用程序,在 Websphere 6.1 上通过 Mainframe/DB2 后端使用 Struts-EJB-Hibernate,最近已投入生产。
我们收到过时的连接异常当用户第一次或有时登录应用程序时,此异常会间歇性地发生。
第二次尝试用户能够登录到应用程序。我收到的确切错误消息是
empcom.ibm.websphere.ce.cm.StaleConnectionException:
Execution failed due to a distribution protocol error that caused deallocation of the conversation.
The command requested could not be completed because of a permanent error condition detected at the target system.
DB2ConnectionCorrelator: AC100B80.A260.090107181206
我启用了PRETEST
websphere 设置中的选项并将间隔设置为 60 秒,但我仍然遇到这个问题..
请分享您的观点并帮助我
如果您需要,我可以为您提供更多详细信息。
我们早上第一次登录我们的一个生产系统时遇到了同样的问题。
解决方案是将连接池的最小大小设置为零。
将最小大小设置为大于零的值(例如 1),当检测到超时连接无效时,它们将从池中删除,但其中一些连接(在上面的示例中为最后一个)仍保留在池中(如果最小大小为 1,则一个连接将保留在池中,即使它还不是有效连接)。
下次应用程序请求连接时,将提供无效的连接,从而导致异常。
将最小大小设置为零,所有无效连接都将从池中删除,因此提供给应用程序的连接不可能尚未有效(因为,如果它有效,它将保留在池中,如果不是,从池中删除)。
使用预测试可能是一种有效的替代方案,但需要付出额外的努力,因为每次为应用程序提供连接时都会进行测试。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)