Connection pooling 如何查找连接泄漏?

Connection pooling 如何查找连接泄漏?,connection-pooling,Connection Pooling,我们在sun ApplicationServer上部署了一个struts web应用程序,尽管在开发环境中进行了负载测试/系统集成测试。不存在conneciton泄漏的情况 但是在生产环境中。随着使用中的连接不断增加,出现连接泄漏 除了应用程序代码外,还有哪些情况会导致连接泄漏?您如何衡量这一点?您正在查看数据库中的连接数吗?应用服务器中池的大小?您正在使用哪个数据库 我不明白没有康奈西顿泄露的情况。如果在方法作用域中的finally块中,没有正确关闭各个try/catch块中的所有结果集、语句

我们在sun ApplicationServer上部署了一个struts web应用程序,尽管在开发环境中进行了负载测试/系统集成测试。不存在conneciton泄漏的情况

但是在生产环境中。随着使用中的连接不断增加,出现连接泄漏


除了应用程序代码外,还有哪些情况会导致连接泄漏?

您如何衡量这一点?您正在查看数据库中的连接数吗?应用服务器中池的大小?您正在使用哪个数据库

我不明白没有康奈西顿泄露的情况。如果在方法作用域中的finally块中,没有正确关闭各个try/catch块中的所有结果集、语句和连接,则可能会遇到泄漏

除非有另一个应用程序使用相同的数据库,否则它必须是您的代码或应用程序服务器。如果你对自己的代码深信不疑,试着切换应用服务器,看看这是否有帮助


我建议您的测试场景不现实。如果在生产中未观察到此行为,则可能是测试未触发该行为,或者测试和产品部署不相同。

连接泄漏是遇到的最常见问题之一。 主要原因是使用后未关闭结果集、连接

try{
//perform jdbc operations
}catch(Exception e){
//perform error operations
}finally{
//close the connections 
}
此外,还有一些方法可以启用连接泄漏日志记录,但这会影响性能