使用jstl中的sql标签库能否自动关闭数据库连接?

青盟日志 2005-07-12 01:10:41
如题,如果能,如何做?
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
青盟日志 2005-07-13
  • 打赏
  • 举报
回复
to pigo(少壮且行英雄梦,迟暮归守温柔乡)
ok,万分感谢。
pigo 2005-07-13
  • 打赏
  • 举报
回复

执行 gc与是否关闭连接无关,而是查询出来的的结果 TreeMap有关,

因为java虚拟机的垃圾回收机制决定了它并不会马上检查到这个结果集已经没有被引用.

通常sun的java虚拟机是在内存不够用的情况下才去回收资源,

因此 neo所说的手动调用 gc只是为了尽早的释放内存,

与sql 的数据库连接是否关闭没有半点关系,

有兴趣的话,你可以去看看 具体实现sql标签的源代码

jakarta-taglibs-standard-1.1.2-src.zip\jakarta-taglibs-standard-1.1.2-src\standard\src\org\apache\taglibs\standard\tag\common\sql\QueryTagSupport.java


/**
* Close the <code>Connection</code>, unless this action is used
* as part of a transaction.
*/
public void doFinally() {
if (conn != null && !isPartOfTransaction) {
try {
conn.close();
} catch (SQLException e) {} // Not much we can do
}

conn = null;
parameters = null;
}



青盟日志 2005-07-12
  • 打赏
  • 举报
回复
to pigo(少壮且行英雄梦,迟暮归守温柔乡) 你非常确定?
我看过一个一篇文章,地址是
http://www.neo.com.tw/archives/000489.html
说是要手动Garbage
pigo 2005-07-12
  • 打赏
  • 举报
回复

jstl内部已经从打开连接 到关闭连接都做完了,

并且查询出来的结果被放在一个Treemap里.

用jstl标签的人,什么都不需要做.



81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧