From f0c1ffc8721560ba23a438e5d38d9cb9e9069bf4 Mon Sep 17 00:00:00 2001 From: Thomas Segismont Date: Fri, 26 Jul 2024 16:14:37 +0200 Subject: [PATCH] Oracle: Lightweight Connection Validation See #1450 Signed-off-by: Thomas Segismont --- .../vertx/oracleclient/impl/OracleJdbcConnection.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleJdbcConnection.java b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleJdbcConnection.java index 783b0f9b9..dfbbba925 100644 --- a/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleJdbcConnection.java +++ b/vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleJdbcConnection.java @@ -13,6 +13,8 @@ import io.vertx.core.*; import io.vertx.core.internal.ContextInternal; import io.vertx.core.internal.PromiseInternal; +import io.vertx.core.internal.logging.Logger; +import io.vertx.core.internal.logging.LoggerFactory; import io.vertx.core.net.SocketAddress; import io.vertx.core.spi.metrics.ClientMetrics; import io.vertx.core.tracing.TracingPolicy; @@ -33,6 +35,8 @@ public class OracleJdbcConnection implements Connection { + private static final Logger log = LoggerFactory.getLogger(OracleJdbcConnection.class); + private final ClientMetrics metrics; private final OracleConnection connection; private final OracleMetadata metadata; @@ -103,7 +107,12 @@ public boolean isSsl() { @Override public boolean isValid() { - return true; + try { + return connection.isValid(OracleConnection.ConnectionValidation.SOCKET, 0); + } catch (SQLException e) { + log.trace("Failed to validate connection", e); + return false; + } } @Override