日期:2014-05-18  浏览次数:20637 次

明明已经释放连接池了,还是提示错误。请大家帮忙看看阿
PageQuery pageQuery = null;
  try {
  pageQuery = DBOperators.createPageQuery("AAA");
  if (opFlag.equals("insert")) 
  {
  sql = "******************************************";
  if (!pageQuery.simpleUpdate(sql)) {
  outFlag = "0";
  }
  } else if (opFlag.equals("update")) {
  sql = "******************************************";
  pageQuery.addBatchSql(sql);
  pageQuery.exeBatchSql();
  } else if (opFlag.equals("delete")) {
  sql = "**************************************";
  pageQuery.addBatchSql(sql);
  pageQuery.exeBatchSql();
  } else {
  }
  pageQuery.getData(mainFields, mainTable, mainStrConditions,mainPageSize);
  mainPageCount = pageQuery.getPageCount();
  mainCurrentPage = ((mainCurrentPage > mainPageCount)? mainPageCount : mainCurrentPage);
  vct = pageQuery.dividePage(mainCurrentPage);

  if (detailQuery.equals("true")) {
  sql = "***************************************************";
  ResultSet mainRS = pageQuery.getData(sql);
  }
   
  } catch (Exception e) {
  e.printStackTrace();
  }
  finally
  {
  Debug.println("*********************王涛连接池关闭,finally****************************");
  pageQuery.close();
  }




后台提示错误
*********************王涛连接池关闭A,finally****************************
<释放连接池 PUR子系统,weblogic连接,创建时间:1203818445515>
<2008-2-24 上午10时00分45秒 CST> <Warning> <JDBC> <BEA-001074> <A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. The following stack trace at create shows where the leaked connection was created. [Null exception passed, creating stack trace for offending caller]
at weblogic.utils.StackTraceUtils.throwable2StackTrace(StackTraceUtils.java:28)
at weblogic.jdbc.wrapper.PoolConnection.finalizeInternal(PoolConnection.java:84)
at weblogic.jdbc.wrapper.PoolConnection_oracle_jdbc_driver_T4CConnection.finalize(Unknown Source)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)



------解决方案--------------------
pageQuery.close(); 
代码贴上来
------解决方案--------------------
某一连接在调用close之前被垃圾收集器回收,返回连接池,导致泄漏,再查查吧