You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2021/08/20 20:54:19 UTC

[commons-dbcp] 02/03: Use try-with-resources.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git

commit e49eeab1e0c067bcf8e481741be361401a97722c
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Fri Aug 20 16:48:41 2021 -0400

    Use try-with-resources.
---
 .../datasources/TestCPDSConnectionFactory.java     | 91 +++++++++++-----------
 1 file changed, 46 insertions(+), 45 deletions(-)

diff --git a/src/test/java/org/apache/commons/dbcp2/datasources/TestCPDSConnectionFactory.java b/src/test/java/org/apache/commons/dbcp2/datasources/TestCPDSConnectionFactory.java
index 54b6840..c14dba3 100644
--- a/src/test/java/org/apache/commons/dbcp2/datasources/TestCPDSConnectionFactory.java
+++ b/src/test/java/org/apache/commons/dbcp2/datasources/TestCPDSConnectionFactory.java
@@ -65,51 +65,52 @@ public class TestCPDSConnectionFactory {
 
             // Checkout a pair of connections
             final PooledConnection pcon1 = pool.borrowObject().getPooledConnection();
-            final Connection con1 = pcon1.getConnection();
-            final PooledConnection pcon2 = pool.borrowObject().getPooledConnection();
-            assertEquals(2, pool.getNumActive());
-            assertEquals(0, pool.getNumIdle());
-
-            // Verify listening
-            final PooledConnectionProxy pc = (PooledConnectionProxy) pcon1;
-            assertTrue(pc.getListeners().contains(factory));
-
-            // Throw connectionError event
-            pc.throwConnectionError();
-
-            // Active count should be reduced by 1 and no idle increase
-            assertEquals(1, pool.getNumActive());
-            assertEquals(0, pool.getNumIdle());
-
-            // Throw another one - should be ignored
-            pc.throwConnectionError();
-            assertEquals(1, pool.getNumActive());
-            assertEquals(0, pool.getNumIdle());
-
-            // Ask for another connection
-            final PooledConnection pcon3 = pool.borrowObject().getPooledConnection();
-            assertNotEquals(pcon3, pcon1); // better not get baddie back
-            assertFalse(pc.getListeners().contains(factory)); // verify cleanup
-            assertEquals(2, pool.getNumActive());
-            assertEquals(0, pool.getNumIdle());
-
-            // Return good connections back to pool
-            pcon2.getConnection().close();
-            pcon3.getConnection().close();
-            assertEquals(2, pool.getNumIdle());
-            assertEquals(0, pool.getNumActive());
-
-            // Verify pc is closed
-            assertThrows(SQLException.class, () -> pc.getConnection(), "Expecting SQLException using closed PooledConnection");
-
-            // Back from the dead - ignore the ghost!
-            con1.close();
-            assertEquals(2, pool.getNumIdle());
-            assertEquals(0, pool.getNumActive());
-
-            // Clear pool
-            factory.getPool().clear();
-            assertEquals(0, pool.getNumIdle());
+            try (final Connection con1 = pcon1.getConnection()) {
+                final PooledConnection pcon2 = pool.borrowObject().getPooledConnection();
+                assertEquals(2, pool.getNumActive());
+                assertEquals(0, pool.getNumIdle());
+
+                // Verify listening
+                final PooledConnectionProxy pc = (PooledConnectionProxy) pcon1;
+                assertTrue(pc.getListeners().contains(factory));
+
+                // Throw connectionError event
+                pc.throwConnectionError();
+
+                // Active count should be reduced by 1 and no idle increase
+                assertEquals(1, pool.getNumActive());
+                assertEquals(0, pool.getNumIdle());
+
+                // Throw another one - should be ignored
+                pc.throwConnectionError();
+                assertEquals(1, pool.getNumActive());
+                assertEquals(0, pool.getNumIdle());
+
+                // Ask for another connection
+                final PooledConnection pcon3 = pool.borrowObject().getPooledConnection();
+                assertNotEquals(pcon3, pcon1); // better not get baddie back
+                assertFalse(pc.getListeners().contains(factory)); // verify cleanup
+                assertEquals(2, pool.getNumActive());
+                assertEquals(0, pool.getNumIdle());
+
+                // Return good connections back to pool
+                pcon2.getConnection().close();
+                pcon3.getConnection().close();
+                assertEquals(2, pool.getNumIdle());
+                assertEquals(0, pool.getNumActive());
+
+                // Verify pc is closed
+                assertThrows(SQLException.class, () -> pc.getConnection(), "Expecting SQLException using closed PooledConnection");
+
+                // Back from the dead - ignore the ghost!
+                con1.close();
+                assertEquals(2, pool.getNumIdle());
+                assertEquals(0, pool.getNumActive());
+
+                // Clear pool
+                factory.getPool().clear();
+                assertEquals(0, pool.getNumIdle());
+            }
         }
     }