Как получить результат проверки соединения? - PullRequest
0 голосов
/ 25 октября 2018

Мне нужен таймер для периодической проверки состояния соединения в ComboPooledDataSource .Есть ли способ прочитать его состояние или «прослушать», когда проверка соединения не удается (и когда он снова появляется)?

Я думал о реализации тестера соединения ( см. Документацию ), но поскольку он создается внутренне (способ установки тестера соединений - через его квалифицированное имя ):

...
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setConnectionTesterClassName("some.qualified.connection.tester");
...

, единственное решение, которое я вижу, состоит в том, что он устанавливает некоторую статическую переменнуюсоответственно.Я придумал таймер, пытающийся установить соединение ( getConnection () ) и перехватить исключение:

try {
        cpds.getConnection();
        //it is up
} catch (SQLException e) {
        //it is down
}

Есть ли лучший способ сделать это?

...