如何通过hibernate数据库检查是否已启动?

时间:2015-12-23 06:20:12

标签: java hibernate postgresql

我正在使用带有PostgreSQL数据库的hibernate。我正在使用PostgreSQL二进制分发并手动初始化,启动和停止数据库。在Java中有什么办法,hibernate找出数据库没有启动?

1 个答案:

答案 0 :(得分:1)

我不知道PostgreSQL,但应该是相同的。

您可以使用Select 1查询检查数据库可用性。

@Query(nativeQuery=true, value="select 1")
public BigInteger getHeartBeat();

偶尔触发查询以检查数据库的可用性。

try {
     BigInteger heartBeat = customerRepository.getHeartBeat();
     if (heartBeat != null && 1 == heartBeat.intValue()) {
          return "All ok";
     }
} catch (Throwable e) {
     return "Database not reachable";
}

理想情况下,如果您有Web应用程序,则可以通过控制器公开此服务并在uptime robot中进行配置。因此,如果您的服务中断,您会收到通知。