0

我正在使用Glassfish 3 和 mysql5.6.11。

我创建了JDBC connection pool in glassfish.

Initial and Minimum Pool Size: - 8
Maximum Pool Size: -30
Pool Resize Quantity:- 10
Idle Timeout: - 60 (second).
Max Wait Time:- 2500 (millisecond).

使用此参数,我创建了池设置

我已经设置了池调整数量值

当连接数增加时,空闲超时后不释放。下次当我再次点击 url 时,它会增加连接数,它不会重用已经打开的连接。

我得到了例外

java.sql.SQLException: Error in allocating a connection. Cause: In-use connections equal max-pool-size and expired max-wait-time. Cannot allocate more connections.

我在 mysql 中使用 show processlist 来显示打开的连接。

如果有人知道这个问题的解决方案,请与我分享您的想法。

我需要任何人的帮助。

4

1 回答 1

0

空闲超时只是池中未使用的连接在关闭/回收之前保留在池中的时间。您遇到的问题很可能是您在使用后没有关闭连接。

修复代码以在完成连接后关闭连接,关闭连接会将其释放回连接池,以便它们可以重用。

一些连接池在连接可以使用的时间有额外的超时,在该时间之后强制连接回到池中。该连接的用户看起来好像连接已关闭。我不认为 glassfish 池有这个选项。

于 2013-05-22T19:48:33.480 回答