我正在使用 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 回答
空闲超时只是池中未使用的连接在关闭/回收之前保留在池中的时间 . 您遇到的问题很可能是您在使用后没有关闭连接 .
修复代码以在完成连接时关闭连接,关闭连接会将其释放回连接池,以便可以重复使用 .
某些连接池在连接可以使用时有额外的超时,在此之后强制连接回池中 . 该连接的用户看起来好像连接已关闭 . 我不认为glassfish池有这个选项 .