我在Glassfish服务器中配置了JDBC池。
Max pool size=500 , Steady pool size=100 , pool resize quantity=8, idle-time-out-in-seconds=300 .
经过更多的研究后,我发现在 idel-time-out-in-seconds之后,如果池的大小超过稳定的池大小,则会从池中删除一些非活动会话(池调整大小数量) 。
假设现在服务器已启动并且池有100个连接并且没有服务器请求,在这种情况下连接将变为空闲但由于池的大小与稳定池会话相同,将从未从池中删除非活动会话?
答案 0 :(得分:0)
现在假设服务器已启动且池有100个连接 没有服务器请求,在这种情况下连接会 变得闲置,但由于池的大小与稳定池相同 会话,非活动会话是否永远不会从池中删除?
将从池中删除非活动连接,但会重新创建它们以确保池中的最小连接数(由stable-pool-size设置指示)可用。
来自Oracle docs:
空闲超时:连接可以保留的最长时间(以秒为单位) 在游泳池闲置。在此之后,池可以关闭此连接。 此属性不控制数据库上的连接超时 服务器
确保您可以激活JDBC连接池的监控。要执行此操作,请打开Glassfish管理界面并导航至server-config
- > Monitoring
。启用监控服务并将“JDBC连接池”的级别设置为HIGH。然后导航到server
(Glassfish管理界面UI左上角菜单中的第二项) - > Monitor
- > Resources
并选择您的连接池。您可以看到已打开,关闭,释放和超时的连接数。
另见: