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
The following commit(s) were added to refs/heads/master by this push:
new 7337960 Use try-with-resources to make tests clean up after
themselves.
7337960 is described below
commit 7337960cd67e3222855ed2b9ed24d591df6a608e
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Apr 1 13:45:06 2019 -0400
Use try-with-resources to make tests clean up after themselves.
---
.../apache/commons/dbcp2/TestBasicDataSource.java | 60 ++++++++------
.../org/apache/commons/dbcp2/TestPStmtPooling.java | 6 +-
.../dbcp2/TestPStmtPoolingBasicDataSource.java | 5 +-
.../java/org/apache/commons/dbcp2/TestUtils.java | 4 +-
.../dbcp2/cpdsadapter/TestDriverAdapterCPDS.java | 96 +++++++++++-----------
.../dbcp2/managed/TestBasicManagedDataSource.java | 42 +++++-----
.../dbcp2/managed/TestConnectionWithNarayana.java | 20 ++---
.../dbcp2/managed/TestSynchronizationOrder.java | 62 +++++++-------
.../dbcp2/managed/TestTransactionContext.java | 27 +++---
9 files changed, 168 insertions(+), 154 deletions(-)
diff --git a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
index d5f76bb..aee9a65 100644
--- a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
+++ b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSource.java
@@ -196,11 +196,11 @@ public class TestBasicDataSource extends
TestConnectionPool {
@Test
public void testTransactionIsolationBehavior() throws Exception {
- final Connection conn = getConnection();
- assertNotNull(conn);
- assertEquals(Connection.TRANSACTION_READ_COMMITTED,
conn.getTransactionIsolation());
- conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
- conn.close();
+ try (final Connection conn = getConnection()) {
+ assertNotNull(conn);
+ assertEquals(Connection.TRANSACTION_READ_COMMITTED,
conn.getTransactionIsolation());
+
conn.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
+ }
final Connection conn2 = getConnection();
assertEquals(Connection.TRANSACTION_READ_COMMITTED,
conn2.getTransactionIsolation());
@@ -239,14 +239,15 @@ public class TestBasicDataSource extends
TestConnectionPool {
ds.setAccessToUnderlyingConnectionAllowed(true);
assertTrue(ds.isAccessToUnderlyingConnectionAllowed());
- final Connection conn = getConnection();
- Connection dconn = ((DelegatingConnection<?>) conn).getDelegate();
- assertNotNull(dconn);
+ try (final Connection conn = getConnection()) {
+ Connection dconn = ((DelegatingConnection<?>) conn).getDelegate();
+ assertNotNull(dconn);
- dconn = ((DelegatingConnection<?>) conn).getInnermostDelegate();
- assertNotNull(dconn);
+ dconn = ((DelegatingConnection<?>) conn).getInnermostDelegate();
+ assertNotNull(dconn);
- assertTrue(dconn instanceof TesterConnection);
+ assertTrue(dconn instanceof TesterConnection);
+ }
}
@Test
@@ -290,8 +291,9 @@ public class TestBasicDataSource extends TestConnectionPool
{
ds.setTestOnBorrow(true);
ds.setTestOnReturn(true);
ds.setValidationQueryTimeout(0);
- final Connection con = ds.getConnection();
- con.close();
+ try (final Connection con = ds.getConnection()) {
+ // close right away.
+ }
}
@Test
@@ -299,8 +301,9 @@ public class TestBasicDataSource extends TestConnectionPool
{
ds.setTestOnBorrow(true);
ds.setTestOnReturn(true);
ds.setValidationQueryTimeout(-1);
- final Connection con = ds.getConnection();
- con.close();
+ try (final Connection con = ds.getConnection()) {
+ // close right away.
+ }
}
@Test
@@ -308,8 +311,9 @@ public class TestBasicDataSource extends TestConnectionPool
{
ds.setTestOnBorrow(true);
ds.setTestOnReturn(true);
ds.setValidationQueryTimeout(100); // Works for TesterStatement
- final Connection con = ds.getConnection();
- con.close();
+ try (final Connection con = ds.getConnection()) {
+ // close right away.
+ }
}
@Test
@@ -553,16 +557,18 @@ public class TestBasicDataSource extends
TestConnectionPool {
@Test
public void testInvalidateConnection() throws Exception {
- ds.setMaxTotal(2);
- final Connection conn1 = ds.getConnection();
- final Connection conn2 = ds.getConnection();
- ds.invalidateConnection(conn1);
- assertTrue(conn1.isClosed());
- assertEquals(1, ds.getNumActive());
- assertEquals(0, ds.getNumIdle());
- final Connection conn3 = ds.getConnection();
- conn2.close();
- conn3.close();
+ ds.setMaxTotal(2);
+ try (final Connection conn1 = ds.getConnection()) {
+ try (final Connection conn2 = ds.getConnection()) {
+ ds.invalidateConnection(conn1);
+ assertTrue(conn1.isClosed());
+ assertEquals(1, ds.getNumActive());
+ assertEquals(0, ds.getNumIdle());
+ try (final Connection conn3 = ds.getConnection()) {
+ conn2.close();
+ }
+ }
+ }
}
/**
diff --git a/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
b/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
index c286f07..6c965e5 100644
--- a/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
+++ b/src/test/java/org/apache/commons/dbcp2/TestPStmtPooling.java
@@ -44,7 +44,7 @@ public class TestPStmtPooling {
@Test
public void testStmtPool() throws Exception {
- final DataSource ds = createPDS();
+ final DataSource ds = createPoolingDataSource();
try (Connection conn = ds.getConnection()) {
final Statement stmt1 = conn.prepareStatement("select 1 from
dual");
final Statement ustmt1 = ((DelegatingStatement)
stmt1).getInnermostDelegate();
@@ -63,7 +63,7 @@ public class TestPStmtPooling {
*/
@Test
public void testMultipleClose() throws Exception {
- final DataSource ds = createPDS();
+ final DataSource ds = createPoolingDataSource();
PreparedStatement stmt1 = null;
final Connection conn = ds.getConnection();
stmt1 = conn.prepareStatement("select 1 from dual");
@@ -101,7 +101,7 @@ public class TestPStmtPooling {
}
- private DataSource createPDS() throws Exception {
+ private DataSource createPoolingDataSource() throws Exception {
DriverManager.registerDriver(new TesterDriver());
final ConnectionFactory connFactory = new
DriverManagerConnectionFactory(
"jdbc:apache:commons:testdriver","u1","p1");
diff --git
a/src/test/java/org/apache/commons/dbcp2/TestPStmtPoolingBasicDataSource.java
b/src/test/java/org/apache/commons/dbcp2/TestPStmtPoolingBasicDataSource.java
index 592fcff..734ebcc 100644
---
a/src/test/java/org/apache/commons/dbcp2/TestPStmtPoolingBasicDataSource.java
+++
b/src/test/java/org/apache/commons/dbcp2/TestPStmtPoolingBasicDataSource.java
@@ -77,8 +77,9 @@ public class TestPStmtPoolingBasicDataSource extends
TestBasicDataSource {
// normal reuse of statement
stmt1.close();
- final PreparedStatement stmt4 = conn.prepareStatement("select 'a' from
dual");
- assertNotNull(stmt4);
+ try (final PreparedStatement stmt4 = conn.prepareStatement("select 'a'
from dual")) {
+ assertNotNull(stmt4);
+ }
}
/**
diff --git a/src/test/java/org/apache/commons/dbcp2/TestUtils.java
b/src/test/java/org/apache/commons/dbcp2/TestUtils.java
index 3332f5a..c2cb80c 100644
--- a/src/test/java/org/apache/commons/dbcp2/TestUtils.java
+++ b/src/test/java/org/apache/commons/dbcp2/TestUtils.java
@@ -17,14 +17,12 @@
package org.apache.commons.dbcp2;
-import java.sql.Connection;
-
import org.junit.jupiter.api.Test;
public class TestUtils {
@Test
public void testClassLoads() {
- Utils.closeQuietly((Connection) null);
+ Utils.closeQuietly((AutoCloseable) null);
}
}
diff --git
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
index ae0bfde..35d12c7 100644
---
a/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
+++
b/src/test/java/org/apache/commons/dbcp2/cpdsadapter/TestDriverAdapterCPDS.java
@@ -95,30 +95,30 @@ public class TestDriverAdapterCPDS {
@Test
public void testSimple() throws Exception {
- final Connection conn = pcds.getPooledConnection().getConnection();
- assertNotNull(conn);
- final PreparedStatement stmt = conn.prepareStatement("select * from
dual");
- assertNotNull(stmt);
- final ResultSet rset = stmt.executeQuery();
- assertNotNull(rset);
- assertTrue(rset.next());
- rset.close();
- stmt.close();
- conn.close();
+ try (final Connection conn =
pcds.getPooledConnection().getConnection()) {
+ assertNotNull(conn);
+ try (final PreparedStatement stmt = conn.prepareStatement("select
* from dual")) {
+ assertNotNull(stmt);
+ try (final ResultSet rset = stmt.executeQuery()) {
+ assertNotNull(rset);
+ assertTrue(rset.next());
+ }
+ }
+ }
}
@Test
public void testSimpleWithUsername() throws Exception {
- final Connection conn = pcds.getPooledConnection("u1",
"p1").getConnection();
- assertNotNull(conn);
- final PreparedStatement stmt = conn.prepareStatement("select * from
dual");
- assertNotNull(stmt);
- final ResultSet rset = stmt.executeQuery();
- assertNotNull(rset);
- assertTrue(rset.next());
- rset.close();
- stmt.close();
- conn.close();
+ try (final Connection conn = pcds.getPooledConnection("u1",
"p1").getConnection()) {
+ assertNotNull(conn);
+ try (final PreparedStatement stmt = conn.prepareStatement("select
* from dual")) {
+ assertNotNull(stmt);
+ try (final ResultSet rset = stmt.executeQuery()) {
+ assertNotNull(rset);
+ assertTrue(rset.next());
+ }
+ }
+ }
}
@Test
@@ -231,12 +231,13 @@ public class TestDriverAdapterCPDS {
*/
@Test
public void testNullValidationQuery() throws Exception {
- final SharedPoolDataSource spds = new SharedPoolDataSource();
- spds.setConnectionPoolDataSource(pcds);
- spds.setDefaultTestOnBorrow(true);
- final Connection c = spds.getConnection();
- c.close();
- spds.close();
+ try (final SharedPoolDataSource spds = new SharedPoolDataSource()) {
+ spds.setConnectionPoolDataSource(pcds);
+ spds.setDefaultTestOnBorrow(true);
+ try (final Connection c = spds.getConnection()) {
+ // close right away
+ }
+ }
}
// https://issues.apache.org/jira/browse/DBCP-376
@@ -248,28 +249,29 @@ public class TestDriverAdapterCPDS {
pcds.setMaxPreparedStatements(-1);
pcds.setAccessToUnderlyingConnectionAllowed(true);
- final SharedPoolDataSource spds = new SharedPoolDataSource();
- spds.setConnectionPoolDataSource(pcds);
- spds.setMaxTotal(threads.length + 10);
- spds.setDefaultMaxWaitMillis(-1);
- spds.setDefaultMaxIdle(10);
- spds.setDefaultAutoCommit(Boolean.FALSE);
-
- spds.setValidationQuery("SELECT 1");
- spds.setDefaultTimeBetweenEvictionRunsMillis(10000);
- spds.setDefaultNumTestsPerEvictionRun(-1);
- spds.setDefaultTestWhileIdle(true);
- spds.setDefaultTestOnBorrow(true);
- spds.setDefaultTestOnReturn(false);
-
- for (int i = 0; i < threads.length; i++) {
- threads[i] = new ThreadDbcp367(spds);
- threads[i].start();
- }
+ try (final SharedPoolDataSource spds = new SharedPoolDataSource()) {
+ spds.setConnectionPoolDataSource(pcds);
+ spds.setMaxTotal(threads.length + 10);
+ spds.setDefaultMaxWaitMillis(-1);
+ spds.setDefaultMaxIdle(10);
+ spds.setDefaultAutoCommit(Boolean.FALSE);
+
+ spds.setValidationQuery("SELECT 1");
+ spds.setDefaultTimeBetweenEvictionRunsMillis(10000);
+ spds.setDefaultNumTestsPerEvictionRun(-1);
+ spds.setDefaultTestWhileIdle(true);
+ spds.setDefaultTestOnBorrow(true);
+ spds.setDefaultTestOnReturn(false);
+
+ for (int i = 0; i < threads.length; i++) {
+ threads[i] = new ThreadDbcp367(spds);
+ threads[i].start();
+ }
- for (int i = 0; i < threads.length; i++) {
- threads[i].join();
- Assertions.assertFalse(threads[i].isFailed(), "Thread " + i + "
has failed");
+ for (int i = 0; i < threads.length; i++) {
+ threads[i].join();
+ Assertions.assertFalse(threads[i].isFailed(), "Thread " + i +
" has failed");
+ }
}
}
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
index ee36fa6..d4576ef 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestBasicManagedDataSource.java
@@ -59,27 +59,27 @@ public class TestBasicManagedDataSource extends
TestBasicDataSource {
*/
@Test
public void testReallyClose() throws Exception {
- final BasicManagedDataSource basicManagedDataSource = new
BasicManagedDataSource();
- basicManagedDataSource.setTransactionManager(new
TransactionManagerImpl());
-
basicManagedDataSource.setDriverClassName("org.apache.commons.dbcp2.TesterDriver");
- basicManagedDataSource.setUrl("jdbc:apache:commons:testdriver");
- basicManagedDataSource.setUsername("userName");
- basicManagedDataSource.setPassword("password");
- basicManagedDataSource.setMaxIdle(1);
- // Create two connections
- final ManagedConnection<?> conn = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
-
assertNotNull(basicManagedDataSource.getTransactionRegistry().getXAResource(conn));
- final ManagedConnection<?> conn2 = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
- conn2.close(); // Return one connection to the pool
- conn.close(); // No room at the inn - this will trigger
reallyClose(), which should unregister
- try {
-
basicManagedDataSource.getTransactionRegistry().getXAResource(conn);
- fail("Expecting SQLException - XAResources orphaned");
- } catch (final SQLException ex) {
- // expected
+ try (final BasicManagedDataSource basicManagedDataSource = new
BasicManagedDataSource()) {
+ basicManagedDataSource.setTransactionManager(new
TransactionManagerImpl());
+
basicManagedDataSource.setDriverClassName("org.apache.commons.dbcp2.TesterDriver");
+ basicManagedDataSource.setUrl("jdbc:apache:commons:testdriver");
+ basicManagedDataSource.setUsername("userName");
+ basicManagedDataSource.setPassword("password");
+ basicManagedDataSource.setMaxIdle(1);
+ // Create two connections
+ final ManagedConnection<?> conn = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
+
assertNotNull(basicManagedDataSource.getTransactionRegistry().getXAResource(conn));
+ final ManagedConnection<?> conn2 = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
+ conn2.close(); // Return one connection to the pool
+ conn.close(); // No room at the inn - this will trigger
reallyClose(), which should unregister
+ try {
+
basicManagedDataSource.getTransactionRegistry().getXAResource(conn);
+ fail("Expecting SQLException - XAResources orphaned");
+ } catch (final SQLException ex) {
+ // expected
+ }
+ conn2.close();
}
- conn2.close();
- basicManagedDataSource.close();
}
@Test
@@ -107,7 +107,7 @@ public class TestBasicManagedDataSource extends
TestBasicDataSource {
}
@Test
- public void testSetDriverName() throws SQLException, XAException {
+ public void testSetDriverName() throws SQLException {
try (final BasicManagedDataSource basicManagedDataSource = new
BasicManagedDataSource()) {
basicManagedDataSource.setDriverClassName("adams");
assertEquals("adams", basicManagedDataSource.getDriverClassName());
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestConnectionWithNarayana.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestConnectionWithNarayana.java
index d681c54..248efcb 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestConnectionWithNarayana.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestConnectionWithNarayana.java
@@ -85,11 +85,11 @@ public class TestConnectionWithNarayana {
mds.setLogExpiredConnections(true);
mds.setLifo(false);
- final Connection conn = mds.getConnection();
- final PreparedStatement ps = conn.prepareStatement(CREATE_STMT);
- ps.execute();
- ps.close();
- conn.close();
+ try (final Connection conn = mds.getConnection()) {
+ try (final PreparedStatement ps =
conn.prepareStatement(CREATE_STMT)) {
+ ps.execute();
+ }
+ }
}
@Test
@@ -224,11 +224,11 @@ public class TestConnectionWithNarayana {
@AfterEach
public void tearDown() throws Exception {
- final Connection conn = mds.getConnection();
- final PreparedStatement ps = conn.prepareStatement(DROP_STMT);
- ps.execute();
- ps.close();
- conn.close();
+ try (final Connection conn = mds.getConnection()) {
+ try (final PreparedStatement ps =
conn.prepareStatement(DROP_STMT)) {
+ ps.execute();
+ }
+ }
if (mds != null) {
mds.close();
}
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
index 6f610f8..e8b9b87 100644
---
a/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
+++
b/src/test/java/org/apache/commons/dbcp2/managed/TestSynchronizationOrder.java
@@ -78,45 +78,51 @@ public class TestSynchronizationOrder {
pool.setMaxWaitMillis(1000);
// finally create the datasource
- final ManagedDataSource ds = new ManagedDataSource<>(pool,
xaConnectionFactory.getTransactionRegistry());
- ds.setAccessToUnderlyingConnectionAllowed(true);
-
- transactionManager.begin();
- final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) ds.getConnection();
- connectionA.close();
- transactionManager.commit();
- assertTrue(transactionManagerRegistered);
- assertFalse(transactionSynchronizationRegistryRegistered);
+ try (final ManagedDataSource ds = new ManagedDataSource<>(pool,
+ xaConnectionFactory.getTransactionRegistry())) {
+ ds.setAccessToUnderlyingConnectionAllowed(true);
+
+ transactionManager.begin();
+ try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) ds.getConnection()) {
+ // close right away.
+ }
+ transactionManager.commit();
+ assertTrue(transactionManagerRegistered);
+ assertFalse(transactionSynchronizationRegistryRegistered);
+ }
}
}
@Test
public void testInterposedSynchronization() throws Exception {
- final DataSourceXAConnectionFactory xaConnectionFactory = new
DataSourceXAConnectionFactory(transactionManager, xads,
transactionSynchronizationRegistry);
+ final DataSourceXAConnectionFactory xaConnectionFactory = new
DataSourceXAConnectionFactory(transactionManager,
+ xads, transactionSynchronizationRegistry);
- final PoolableConnectionFactory factory =
- new PoolableConnectionFactory(xaConnectionFactory, null);
+ final PoolableConnectionFactory factory = new
PoolableConnectionFactory(xaConnectionFactory, null);
factory.setValidationQuery("SELECT DUMMY FROM DUAL");
factory.setDefaultReadOnly(Boolean.TRUE);
factory.setDefaultAutoCommit(Boolean.TRUE);
// create the pool
- final GenericObjectPool pool = new GenericObjectPool<>(factory);
- factory.setPool(pool);
- pool.setMaxTotal(10);
- pool.setMaxWaitMillis(1000);
-
- // finally create the datasource
- final ManagedDataSource ds = new ManagedDataSource<>(pool,
xaConnectionFactory.getTransactionRegistry());
- ds.setAccessToUnderlyingConnectionAllowed(true);
-
-
- transactionManager.begin();
- final DelegatingConnection<?> connectionA = (DelegatingConnection<?>)
ds.getConnection();
- connectionA.close();
- transactionManager.commit();
- assertFalse(transactionManagerRegistered);
- assertTrue(transactionSynchronizationRegistryRegistered);
+ try (final GenericObjectPool pool = new GenericObjectPool<>(factory)) {
+ factory.setPool(pool);
+ pool.setMaxTotal(10);
+ pool.setMaxWaitMillis(1000);
+
+ // finally create the datasource
+ try (final ManagedDataSource ds = new ManagedDataSource<>(pool,
+ xaConnectionFactory.getTransactionRegistry())) {
+ ds.setAccessToUnderlyingConnectionAllowed(true);
+
+ transactionManager.begin();
+ try (final DelegatingConnection<?> connectionA =
(DelegatingConnection<?>) ds.getConnection()) {
+ // Close right away.
+ }
+ transactionManager.commit();
+ assertFalse(transactionManagerRegistered);
+ assertTrue(transactionSynchronizationRegistryRegistered);
+ }
+ }
}
@AfterEach
diff --git
a/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
b/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
index a745155..35a03cb 100644
--- a/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
+++ b/src/test/java/org/apache/commons/dbcp2/managed/TestTransactionContext.java
@@ -36,19 +36,20 @@ public class TestTransactionContext {
*/
@Test
public void testSetSharedConnectionEnlistFailure() throws Exception {
- final BasicManagedDataSource basicManagedDataSource = new
BasicManagedDataSource();
- basicManagedDataSource.setTransactionManager(new
TransactionManagerImpl());
-
basicManagedDataSource.setDriverClassName("org.apache.commons.dbcp2.TesterDriver");
- basicManagedDataSource.setUrl("jdbc:apache:commons:testdriver");
- basicManagedDataSource.setUsername("userName");
- basicManagedDataSource.setPassword("password");
- basicManagedDataSource.setMaxIdle(1);
- final ManagedConnection<?> conn = (ManagedConnection<?>)
basicManagedDataSource.getConnection();
- final UncooperativeTransaction transaction = new
UncooperativeTransaction();
- final TransactionContext transactionContext =
- new
TransactionContext(basicManagedDataSource.getTransactionRegistry(),
transaction);
- assertThrows(SQLException.class, () ->
transactionContext.setSharedConnection(conn));
- basicManagedDataSource.close();
+ try (final BasicManagedDataSource basicManagedDataSource = new
BasicManagedDataSource()) {
+ basicManagedDataSource.setTransactionManager(new
TransactionManagerImpl());
+
basicManagedDataSource.setDriverClassName("org.apache.commons.dbcp2.TesterDriver");
+ basicManagedDataSource.setUrl("jdbc:apache:commons:testdriver");
+ basicManagedDataSource.setUsername("userName");
+ basicManagedDataSource.setPassword("password");
+ basicManagedDataSource.setMaxIdle(1);
+ try (final ManagedConnection<?> conn = (ManagedConnection<?>)
basicManagedDataSource.getConnection()) {
+ final UncooperativeTransaction transaction = new
UncooperativeTransaction();
+ final TransactionContext transactionContext = new
TransactionContext(
+ basicManagedDataSource.getTransactionRegistry(),
transaction);
+ assertThrows(SQLException.class, () ->
transactionContext.setSharedConnection(conn));
+ }
+ }
}
/**