glassfish服务器中的JDBC连接池

时间:2014-11-06 05:29:20

标签: java jdbc glassfish

我在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个连接并且没有服务器请求,在这种情况下连接将变为空闲但由于池的大小与稳定池会话相同,将从未从池中删除非活动会话?

1 个答案:

答案 0 :(得分:0)

  

现在假设服务器已启动且池有100个连接   没有服务器请求,在这种情况下连接会   变得闲置,但由于池的大小与稳定池相同   会话,非活动会话是否永远不会从池中删除?

将从池中删除非活动连接,但会重新创建它们以确保池中的最小连接数(由stable-pool-size设置指示)可用。

来自Oracle docs

  

空闲超时:连接可以保留的最长时间(以秒为单位)   在游泳池闲置。在此之后,池可以关闭此连接。   此属性不控制数据库上的连接超时   服务器

确保您可以激活JDBC连接池的监控。要执行此操作,请打开Glassfish管理界面并导航至server-config - > Monitoring。启用监控服务并将“JDBC连接池”的级别设置为HIGH。然后导航到server(Glassfish管理界面UI左上角菜单中的第二项) - > Monitor - > Resources并选择您的连接池。您可以看到已打开,关闭,释放和超时的连接数。

另见: