From d8d6df80307a7f296a847cbe69154df7c8a365d1 Mon Sep 17 00:00:00 2001 From: Richard North Date: Sun, 22 Jan 2017 19:28:22 +0000 Subject: [PATCH] Modify JDBC driver connection behaviour to fail early if the delegate JDBC Driver cannot be instantiated. Connection attempts remain inside a retry loop. Refs #230 --- .../org/testcontainers/containers/JdbcDatabaseContainer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java index 7d594cb1823..2d4136580d0 100644 --- a/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java +++ b/modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainer.java @@ -117,8 +117,10 @@ public Connection createConnection(String queryString) throws SQLException { info.put("password", this.getPassword()); final String url = this.getJdbcUrl() + queryString; + final Driver jdbcDriverInstance = getJdbcDriverInstance(); + try { - return Unreliables.retryUntilSuccess(120, TimeUnit.SECONDS, () -> getJdbcDriverInstance().connect(url, info)); + return Unreliables.retryUntilSuccess(120, TimeUnit.SECONDS, () -> jdbcDriverInstance.connect(url, info)); } catch (Exception e) { throw new SQLException("Could not create new connection", e); }