当前位置:  开发笔记 > 前端 > 正文

jdbcTemplate是否关闭结果集?

如何解决《jdbcTemplate是否关闭结果集?》经验,为你挑选了1个好方法。

我有一个spring应用程序,其主页触发多个ajax调用,然后从DB获取数据并返回.数据库已配置连接池,minPoolSize为50,maxPoolSize为100.

现在,当我打开主页时,与DB建立了大约7个连接,预计大约有7个ajax调用,我假设它们都创建了自己的连接.现在,当我刷新页面时,我看到另外7个新连接建立(我看到来自db2监控的总共14个物理连接),这似乎是意外的,因为我假设jdbcTemplate在第一次访问和刷新查询后关闭连接在这种情况下应该重用连接?

现在的问题是,结果集是否也被jdbcTemplate关闭以及连接关闭?或者我是否需要显式关闭resultSet以便可以自动关闭连接.打开的resultSet可能是连接没有关闭的原因?附加连接池配置的代码




我的初步理论是,只有达到minPoolSize才会重复使用连接,直到那时它总会创建新的物理连接.我甚至在达到这个限制后也看到了这种行为.我刷新了我的页面10次,我看到70个物理连接.现在我唯一的疑问是,连接在某种程度上没有接近,春天看到这些连接忙吗?这可能是因为结果集未关闭或其他原因?这是一种说jdbctemplate不等待结束时间超过时间限制的方法吗?

谢谢Manoj



1> farrellmr..:

如果查看org.springframework.jdbc.core.JdbcTemplate.query方法源代码,您会看到调用 -

JdbcUtils.closeResultSet(rs);

在finally块中 - 所以是的,JDBCTemplate会调用rs.close

模板还会关闭或返回到池的连接

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有