You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ma...@apache.org on 2014/02/26 16:30:29 UTC
svn commit: r1572093 -
/commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
Author: markt
Date: Wed Feb 26 15:30:28 2014
New Revision: 1572093
URL: http://svn.apache.org/r1572093
Log:
More FindBugs fixes
Modified:
commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
Modified: commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
URL: http://svn.apache.org/viewvc/commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java?rev=1572093&r1=1572092&r2=1572093&view=diff
==============================================================================
--- commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java (original)
+++ commons/proper/dbcp/trunk/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java Wed Feb 26 15:30:28 2014
@@ -18,7 +18,7 @@
package org.apache.commons.dbcp2;
import java.sql.Connection;
-import java.sql.Driver;
+import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.SQLException;
@@ -51,8 +51,7 @@ public class TestPStmtPooling extends Te
}
public void testStmtPool() throws Exception {
- @SuppressWarnings("unused") // Ensure TesterDriver is registered
- Driver d = new TesterDriver();
+ DriverManager.registerDriver(new TesterDriver());
ConnectionFactory connFactory = new DriverManagerConnectionFactory(
"jdbc:apache:commons:testdriver","u1","p1");
@@ -62,22 +61,23 @@ public class TestPStmtPooling extends Te
pcf.setDefaultReadOnly(Boolean.FALSE);
pcf.setDefaultAutoCommit(Boolean.TRUE);
ObjectPool<PoolableConnection> connPool = new GenericObjectPool<>(pcf);
+ pcf.setPool(connPool);
DataSource ds = new PoolingDataSource<>(connPool);
- Connection conn = ds.getConnection();
- Statement stmt1 = conn.prepareStatement("select 1 from dual");
- Statement ustmt1 = ((DelegatingStatement) stmt1).getInnermostDelegate();
- stmt1.close();
- Statement stmt2 = conn.prepareStatement("select 1 from dual");
- Statement ustmt2 = ((DelegatingStatement) stmt2).getInnermostDelegate();
- stmt2.close();
- assertSame(ustmt1, ustmt2);
+ try (Connection conn = ds.getConnection()) {
+ Statement stmt1 = conn.prepareStatement("select 1 from dual");
+ Statement ustmt1 = ((DelegatingStatement) stmt1).getInnermostDelegate();
+ stmt1.close();
+ Statement stmt2 = conn.prepareStatement("select 1 from dual");
+ Statement ustmt2 = ((DelegatingStatement) stmt2).getInnermostDelegate();
+ stmt2.close();
+ assertSame(ustmt1, ustmt2);
+ }
}
public void testCallableStatementPooling() throws Exception {
- @SuppressWarnings("unused") // Ensure TesterDriver is registered
- Driver d = new TesterDriver();
+ DriverManager.registerDriver(new TesterDriver());
ConnectionFactory connFactory = new DriverManagerConnectionFactory(
"jdbc:apache:commons:testdriver","u1","p1");
@@ -97,32 +97,32 @@ public class TestPStmtPooling extends Te
DataSource ds = new PoolingDataSource<>(connPool);
- Connection conn = ds.getConnection();
- Statement stmt1 = conn.prepareStatement("select 1 from dual");
- Statement ustmt1 = ((DelegatingStatement) stmt1).getInnermostDelegate();
- Statement cstmt1 = conn.prepareCall("{call home}");
- Statement ucstmt1 = ((DelegatingStatement) cstmt1).getInnermostDelegate();
- stmt1.close(); // Return to pool
- cstmt1.close(); // ""
- Statement stmt2 = conn.prepareStatement("select 1 from dual"); // Check out from pool
- Statement ustmt2 = ((DelegatingStatement) stmt2).getInnermostDelegate();
- Statement cstmt2 = conn.prepareCall("{call home}");
- Statement ucstmt2 = ((DelegatingStatement) cstmt2).getInnermostDelegate();
- stmt2.close(); // Return to pool
- cstmt2.close(); // ""
- assertSame(ustmt1, ustmt2);
- assertSame(ucstmt1, ucstmt2);
- // Verify key distinguishes Callable from Prepared Statements in the pool
- Statement stmt3 = conn.prepareCall("select 1 from dual");
- Statement ustmt3 = ((DelegatingStatement) stmt3).getInnermostDelegate();
- stmt3.close();
- assertNotSame(ustmt1, ustmt3);
- assertNotSame(ustmt3, ucstmt1);
+ try (Connection conn = ds.getConnection()) {
+ Statement stmt1 = conn.prepareStatement("select 1 from dual");
+ Statement ustmt1 = ((DelegatingStatement) stmt1).getInnermostDelegate();
+ Statement cstmt1 = conn.prepareCall("{call home}");
+ Statement ucstmt1 = ((DelegatingStatement) cstmt1).getInnermostDelegate();
+ stmt1.close(); // Return to pool
+ cstmt1.close(); // ""
+ Statement stmt2 = conn.prepareStatement("select 1 from dual"); // Check out from pool
+ Statement ustmt2 = ((DelegatingStatement) stmt2).getInnermostDelegate();
+ Statement cstmt2 = conn.prepareCall("{call home}");
+ Statement ucstmt2 = ((DelegatingStatement) cstmt2).getInnermostDelegate();
+ stmt2.close(); // Return to pool
+ cstmt2.close(); // ""
+ assertSame(ustmt1, ustmt2);
+ assertSame(ucstmt1, ucstmt2);
+ // Verify key distinguishes Callable from Prepared Statements in the pool
+ Statement stmt3 = conn.prepareCall("select 1 from dual");
+ Statement ustmt3 = ((DelegatingStatement) stmt3).getInnermostDelegate();
+ stmt3.close();
+ assertNotSame(ustmt1, ustmt3);
+ assertNotSame(ustmt3, ucstmt1);
+ }
}
public void testClosePool() throws Exception {
- @SuppressWarnings("unused") // Ensure TesterDriver is registered
- Driver d = new TesterDriver();
+ DriverManager.registerDriver(new TesterDriver());
ConnectionFactory connFactory = new DriverManagerConnectionFactory(
"jdbc:apache:commons:testdriver","u1","p1");
@@ -138,14 +138,13 @@ public class TestPStmtPooling extends Te
((PoolingDataSource<?>) ds).setAccessToUnderlyingConnectionAllowed(true);
Connection conn = ds.getConnection();
- conn.prepareStatement("select 1 from dual");
+ try (Statement s = conn.prepareStatement("select 1 from dual")) {}
Connection poolableConnection = ((DelegatingConnection<?>) conn).getDelegate();
Connection poolingConnection =
((DelegatingConnection<?>) poolableConnection).getDelegate();
poolingConnection.close();
- try {
- conn.prepareStatement("select 1 from dual");
+ try (PreparedStatement ps = conn.prepareStatement("select 1 from dual")) {
fail("Expecting SQLException");
} catch (SQLException ex) {
assertTrue(ex.getMessage().endsWith("invalid PoolingConnection."));
@@ -153,8 +152,7 @@ public class TestPStmtPooling extends Te
}
public void testBatchUpdate() throws Exception {
- @SuppressWarnings("unused") // Ensure TesterDriver is registered
- Driver d = new TesterDriver();
+ DriverManager.registerDriver(new TesterDriver());
ConnectionFactory connFactory = new DriverManagerConnectionFactory(
"jdbc:apache:commons:testdriver","u1","p1");