jdbc Connections in try-with-resources (so they close and return to connection pool)

This commit is contained in:
2024-03-12 14:28:46 -05:00
parent 7e34b97998
commit 71ecde74df

View File

@ -60,16 +60,18 @@ public class TestUtils
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static void primeTestDatabase() throws Exception public static void primeTestDatabase() throws Exception
{ {
ConnectionManager connectionManager = new ConnectionManager(); ConnectionManager connectionManager = new ConnectionManager();
Connection connection = connectionManager.getConnection(TestUtils.defineBackend()); try(Connection connection = connectionManager.getConnection(TestUtils.defineBackend()))
InputStream primeTestDatabaseSqlStream = TestUtils.class.getResourceAsStream("/prime-test-database.sql");
assertNotNull(primeTestDatabaseSqlStream);
List<String> lines = (List<String>) IOUtils.readLines(primeTestDatabaseSqlStream);
lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList();
String joinedSQL = String.join("\n", lines);
for(String sql : joinedSQL.split(";"))
{ {
QueryManager.executeUpdate(connection, sql); InputStream primeTestDatabaseSqlStream = TestUtils.class.getResourceAsStream("/prime-test-database.sql");
assertNotNull(primeTestDatabaseSqlStream);
List<String> lines = (List<String>) IOUtils.readLines(primeTestDatabaseSqlStream);
lines = lines.stream().filter(line -> !line.startsWith("-- ")).toList();
String joinedSQL = String.join("\n", lines);
for(String sql : joinedSQL.split(";"))
{
QueryManager.executeUpdate(connection, sql);
}
} }
} }
@ -82,8 +84,10 @@ public class TestUtils
public static void runTestSql(String sql, QueryManager.ResultSetProcessor resultSetProcessor) throws Exception public static void runTestSql(String sql, QueryManager.ResultSetProcessor resultSetProcessor) throws Exception
{ {
ConnectionManager connectionManager = new ConnectionManager(); ConnectionManager connectionManager = new ConnectionManager();
Connection connection = connectionManager.getConnection(defineBackend()); try(Connection connection = connectionManager.getConnection(defineBackend()))
QueryManager.executeStatement(connection, sql, resultSetProcessor); {
QueryManager.executeStatement(connection, sql, resultSetProcessor);
}
} }