首页 文章

在glassfish中空闲时间后,数据库连接不会释放

提问于
浏览
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).

使用此参数我有 created pool setting .

我有 set pool resize quantity value .

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

我正在例外

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来显示打开的连接 .

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

我需要任何人的帮助 .

1 回答

  • 0

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

    修复代码以在完成连接时关闭连接,关闭连接会将其释放回连接池,以便可以重复使用 .

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

相关问题