diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/cluster/HeartbeatDetect.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/cluster/HeartbeatDetect.java index a9b90dabf04d39f85ce5913e7ba79d2033be5bdf..ea4bb7f9c1510d654223171d4a161033a44d3a67 100644 --- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/cluster/HeartbeatDetect.java +++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/cluster/HeartbeatDetect.java @@ -22,6 +22,7 @@ import org.apache.shardingsphere.cluster.configuration.config.HeartbeatConfigura import org.apache.shardingsphere.cluster.heartbeat.response.HeartbeatResult; import javax.sql.DataSource; +import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -53,10 +54,11 @@ public final class HeartbeatDetect extends AbstractHeartbeatDetect { @Override protected Boolean detect() { - try { - PreparedStatement preparedStatement = dataSource.getConnection().prepareStatement(sql); - ResultSet result = preparedStatement.executeQuery(); - return Objects.nonNull(result) && result.next(); + try (Connection connection = dataSource.getConnection(); + PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + try (ResultSet result = preparedStatement.executeQuery()) { + return Objects.nonNull(result) && result.next(); + } } catch (SQLException ex) { log.error("Heart beat detect error", ex); }