package com.intrbiz.bergamot.check.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.util.function.Consumer; public class JDBCCheckContext { private final Consumer<Throwable> onError; public JDBCCheckContext(Consumer<Throwable> onError) { this.onError = onError; } public void connect(String url, String username, String password, Consumer<JDBCConnection> onConnected) { try (Connection connection = DriverManager.getConnection(url, username, password)) { // TODO: timeouts onConnected.accept(new JDBCConnection(connection)); } catch (Throwable t) { this.onError.accept(t); } } public void connect(String url, String username, String password, Consumer<JDBCConnection> onConnected, Consumer<Throwable> onError) { try (Connection connection = DriverManager.getConnection(url, username, password)) { // TODO: timeouts onConnected.accept(new JDBCConnection(connection)); } catch (Throwable t) { onError.accept(t); } } }