我正在使用 Drowizard 0.9.2 和 JDBI 连接到我的 MySql 服务器。 现在,如果我的应用程序由于异步部署而启动,我的 MySql 数据库可能不处于 Activity 状态。然后我希望我的应用程序循环并每 5 秒左右检查一次是否可以到达数据库。
上面提到的框架怎么可能做到这一点?
最佳答案
仅供引用,我找到了适合我的解决方案。
此方法检查连接。如果它返回 false,我将进入一个同步循环,在可能的情况下进行检查(并建立连接)。
public boolean checkForConnection() {
Handle handle = null;
try {
jdbi = factory.build(environment, config.getDatabaseFactory(), "postgresql");
handle = jdbi.open();
} catch (Exception e) {
LOGGER.error("Error while checking Postgres connection.");
return false;
} finally {
try {
if(handle != null){
handle.close();
}
} catch (Exception e){
LOGGER.error("Error trying to close connection");
return false;
}
}
return true;
}
遗憾的是,我无法使用 ConnectionFactory
,因为它是 DBI 的私有(private)成员。
关于java - 检查连接并最终使用 dropwizard 0.9.2 和 JDBI 重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35264948/