You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2004/03/07 12:19:25 UTC

cvs commit: jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/datasources KeyedCPDSConnectionFactory.java

dirkv       2004/03/07 03:19:25

  Modified:    dbcp/src/java/org/apache/commons/dbcp/cpdsadapter
                        PooledConnectionImpl.java
               dbcp/src/java/org/apache/commons/dbcp/datasources
                        KeyedCPDSConnectionFactory.java
  Log:
  Bugzilla Bug 27465: Memory leak in KeyedCPDSConnectionFactory
  (Todd Carmichael)
  
  Revision  Changes    Path
  1.16      +6 -2      jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java
  
  Index: PooledConnectionImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- PooledConnectionImpl.java	28 Feb 2004 21:58:38 -0000	1.15
  +++ PooledConnectionImpl.java	7 Mar 2004 11:19:25 -0000	1.16
  @@ -123,7 +123,11 @@
           } catch (Exception e) {
               throw new SQLNestedException("Cannot close connection (return to pool failed)", e);
           } finally {
  -            connection.close();
  +            try {
  +                connection.close();
  +            } finally {
  +                connection = null;
  +            }
           }
       }
   
  
  
  
  1.6       +4 -2      jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java
  
  Index: KeyedCPDSConnectionFactory.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/datasources/KeyedCPDSConnectionFactory.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- KeyedCPDSConnectionFactory.java	28 Feb 2004 12:18:17 -0000	1.5
  +++ KeyedCPDSConnectionFactory.java	7 Mar 2004 11:19:25 -0000	1.6
  @@ -136,7 +136,9 @@
   
       public void destroyObject(Object key, Object obj) throws Exception {
           if (obj instanceof PooledConnectionAndInfo) {
  -            ((PooledConnectionAndInfo)obj).getPooledConnection().close();
  +            PooledConnection pc = ((PooledConnectionAndInfo)obj).getPooledConnection();
  +            pcMap.remove(pc);
  +            pc.close();
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org