我正在使用 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它再次增加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来显示打开的连接。
如果有人知道这个问题的解决方案,请与我分享您的想法。
我需要任何人的帮助。
答案 0 :(得分:0)
空闲超时只是池中未使用的连接在关闭/回收之前保留在池中的时间。您遇到的问题很可能是您在使用后没有关闭连接。
修复代码以在完成连接时关闭连接,关闭连接会将其释放回连接池,以便可以重复使用。
某些连接池在可以使用连接时有额外的超时,在此之后强制连接回池中。该连接的用户看起来好像连接已关闭。我不认为glassfish池有这个选项。