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

标签 java hibernate postgresql

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

最佳答案

我不知道 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";
}

理想情况下,如果您有一个网络应用程序,您可以通过 Controller 公开此服务并在 uptime robot 中进行配置.因此,如果您的服务出现故障,您会收到通知。

关于java - 如何通过hibernate检查数据库是否启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429776/

相关文章:

java - 如何用Scala写Apache bench之类的东西(多线程方式打网页)

java - 为什么 java 允许 private String[][] var[]

java - 测试 JLabel 是否需要更改大小

postgresql - 如何通过jdbc获取数据库函数体?

java - ArrayBlockingQueue 使用单个锁进行插入和删除,而 LinkedBlockingQueue 使用 2 个单独的锁

java - 为什么我的实体在 JPA 中持久化后仍然保持分离状态?

java - 更改表结构但 hibernate 不更新它

java - Hibernate OneToMany,天然PK

SQL:搜索字符串集

sql - 使用递归 sql 计算平均成本(postgres 9.1)