You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ps...@apache.org on 2006/03/12 06:35:09 UTC

svn commit: r385251 - in /jakarta/commons/proper/dbcp/trunk: src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java xdocs/changes.xml

Author: psteitz
Date: Sat Mar 11 21:35:07 2006
New Revision: 385251

URL: http://svn.apache.org/viewcvs?rev=385251&view=rev
Log:
Inserted null check in close method of SharedPoolDataSource to avoid NPE
when invoked on non-initialized pool.
Addresses BZ #37359
Fix contributed by Jindrich Vimr.


Modified:
    jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java
    jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
    jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml

Modified: jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java?rev=385251&r1=385250&r2=385251&view=diff
==============================================================================
--- jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java (original)
+++ jakarta/commons/proper/dbcp/trunk/src/java/org/apache/commons/dbcp/datasources/SharedPoolDataSource.java Sat Mar 11 21:35:07 2006
@@ -63,7 +63,9 @@
      * Close pool being maintained by this datasource.
      */
     public void close() throws Exception {
-        pool.close();
+        if (pool != null) {
+            pool.close();
+        }
         InstanceKeyObjectFactory.removeInstance(instanceKey);
     }
 

Modified: jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java?rev=385251&r1=385250&r2=385251&view=diff
==============================================================================
--- jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java (original)
+++ jakarta/commons/proper/dbcp/trunk/src/test/org/apache/commons/dbcp/datasources/TestSharedPoolDataSource.java Sat Mar 11 21:35:07 2006
@@ -265,6 +265,18 @@
             c[i].close();
         }
     }
+    
+    /**
+     * Test pool close.  Illustrates BZ 37359.
+     * 
+     * @throws Exception
+     */
+    public void testClosePool() throws Exception {
+      ((SharedPoolDataSource)ds).close();
+      SharedPoolDataSource tds = new SharedPoolDataSource();
+      // NPE before BZ 37359 fix 
+      tds.close();
+    }
 
     public void testMaxActive() 
         throws Exception 

Modified: jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml?rev=385251&r1=385250&r2=385251&view=diff
==============================================================================
--- jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/dbcp/trunk/xdocs/changes.xml Sat Mar 11 21:35:07 2006
@@ -52,6 +52,10 @@
         concrete factory and added implementations of getReference in concrete
         subclasses.
       </action>
+      <action dev="psteitz" type="fix" issue="#37359" due-to="Jindrich Vimr">
+        Inserted null check in close method of SharedPoolDataSource to avoid
+        NPE when invoked on non-initialized pool.
+      </action>
     </release>   
   </body>
 </document>



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