package com.intrbiz.bergamot.check.jdbc; import java.util.Timer; import java.util.TimerTask; import java.util.function.Consumer; /** * A JDBC based check framework */ public class JDBCChecker { private int defaultTimeoutSeconds; private final Timer timer; public JDBCChecker(int defaultTimeoutSeconds) { this.defaultTimeoutSeconds = defaultTimeoutSeconds; // this.timer = new Timer(); // some util timer tasks // every 5 minutes forcefully purge the timer queue // we cancel most task (hopefully) this.timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { // purge the timer queue JDBCChecker.this.timer.purge(); } }, 300_000L, 300_000L); } public JDBCChecker() { this(60); } public int getTimeoutSeconds() { return defaultTimeoutSeconds; } Timer getTimer() { return this.timer; } public JDBCCheckContext createContext() { return new JDBCCheckContext((t) -> { throw new JDBCException(t); }); } public JDBCCheckContext createContext(Consumer<Throwable> errorHandler) { return new JDBCCheckContext(errorHandler); } public void shutdown() { } }