Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java EE 综合讨论区  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 Re:谁解决过这样的问题? [Re:jameszhang]
gunrose





发贴: 100
积分: 20
于 2003-03-07 10:09 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
建议
失败的关闭和释放 JDBC 连接可能导致其它用户的连接经历长时间的等待。虽然超时的JDBC 连接会被 Server 退回而被回收 ,但必须等待这种情形发生。
使用完 JDBC 资源后关闭它们,还可以显式关闭 JDBC ResultSets等资源。如果没有显式关闭语句,则在完成了相关语句之后会释放 ResultsSets资源。

所以请确保您构建的代码在所有情况下,甚至在异常和错误条件下,都能关闭和释放 JDBC 资源。以下代码显示了 JDBC 资源的获得和使用都封装在Try-Catch-Finally结构中。其中,在 finally 子句中处理 JDBC 资源的关闭,使所有情况下关闭都将发生。
关闭 JDBC Connection 和 PreparedStatement 的正确方式
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
StringBuffer sqlBuffer=new StringBuffer();
//TODO
//...

try
{
  connection = getConnectionFromDataSource();
  statement = connection.prepareStatement(sqlBuffer.toString());
  resultSet = statement.executeQuery();
  //TODO
  //...

} catch (Throwable t)
{
  //TODO
  //...

} finally
{
  try
  {
    if (resultSet != null)
    {
      resultSet.close();
    }
    resultSet = null;

    if (statement != null)
    {
      statement.close();
    }
    statement = null;

    if (connection != null)
    {
      connection.close();
    }
    connection=null;
  } catch (Exception e)
  {
    //TODO
    //...

  }
}


gunrose edited on 2003-03-07 10:13


Java应用者与<IDE/环境>

话题树型展开
人气 标题 作者 字数 发贴时间
17999 谁解决过这样的问题?(快速多次调用后,WEBLOGIC 抛出 无可用JDBCRESOURCE 异常) jameszhang 103 2003-03-06 10:52
15046 Re:谁解决过这样的问题? youlq 29 2003-03-06 11:00
20020 Re:谁解决过这样的问题? jameszhang 41 2003-03-06 11:59
14404 Re:谁解决过这样的问题? SimonLei 140 2003-03-06 12:26
16599 Re:谁解决过这样的问题? jameszhang 1629 2003-03-06 14:04
14460 Re:谁解决过这样的问题? SimonLei 30 2003-03-06 14:30
18986 Re:谁解决过这样的问题? jameszhang 112 2003-03-06 16:37
14400 Re:谁解决过这样的问题? SimonLei 401 2003-03-06 18:37
18221 Re:谁解决过这样的问题? jameszhang 119 2003-03-06 20:13
14295 Re:谁解决过这样的问题? SimonLei 30 2003-03-06 20:53
18035 Re:谁解决过这样的问题? jameszhang 175 2003-03-06 21:10
14376 Re:谁解决过这样的问题? SimonLei 186 2003-03-06 21:51
14440 Re:谁解决过这样的问题? floater 182 2003-03-07 00:32
18275 Re:谁解决过这样的问题? jameszhang 170 2003-03-07 09:01
14979 Re:谁解决过这样的问题? gunrose 1725 2003-03-07 10:09

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923