【问题标题】:Websphere: setting Connection pool timeout ignoredWebsphere:设置连接池超时被忽略
【发布时间】:2026-01-07 22:35:01
【问题描述】:

我的 EJB 应用程序最近开始频繁抛出

com.ibm.websphere.ce.j2c.ConnectionWaitTimeoutException
 at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1521)

错误消息状态例如"Connection not available, Timed out waiting for 2008"

奇怪的事实是,等待时间从 2001 年到大约 24000 毫秒不同,但从未达到 180000 毫秒。 (连接池设置:连接超时设置为180s)。

有什么想法吗?谢谢!

【问题讨论】:

    标签: java connection timeout websphere


    【解决方案1】:

    这根本不是连接超时。这是一个连接超时。

    【讨论】:

    • 由于用户感到困惑,您可能会扩展您的答案以解释差异(即连接池为空时使用连接池超时,已创建最大连接数,当前线程正在等待另一个线程返回连接池)。
    • 没有混淆,只是不够精确——抱歉!问题仍然存在:为什么当前线程不等到连接池设置中配置的连接超时?线程应该等待 180 秒以使连接可​​用,但是
    • 配置为:数据源 > DB2 通用 JDBC 驱动程序 XA 数据源 > 连接池:连接超时:180 秒 Reap/unused/aged: 180/1800/0 seconds 线程应该等待 180 秒才能建立连接变为可用,但仅在 2 到 24 秒后引发 ConnectionWaitTimeout 异常。
    【解决方案2】:

    在 WebSphere Application Server 中,当连接池达到最大大小、应用程序正在使用所有连接并且应用程序请求更多连接时,会引发 ConnectionWaitTimeoutException。

    http://www-01.ibm.com/support/docview.wss?uid=swg21225611.

    【讨论】: