【发布时间】:2020-01-24 19:04:22
【问题描述】:
假设我正在使用的数据库崩溃或有任何其他错误阻止我在其上调用INSERT。之后,我想知道何时返回对数据库的访问。我想要做的是检查我们是否可以每隔x 秒访问一次(为简单起见 - 每 1 秒一次)。我不想重复该指令 - 我只需要知道数据库是否可用。
请记住 - 我不仅需要知道数据库是否已启动。我还需要知道我们是否有权使用它,以及 - 总的来说 - 我们是否有权在特定表上调用 INSERT。
如何使用 Java 以最简洁(一般来说 - 代码量最少)的方式做到这一点?目前我正在使用 Spring 的JpaRepository。
【问题讨论】:
-
我们的做法是在一个线程中进行
select查询 -
select不会告诉你是否可以insert进入表格。我们还需要知道我们是否拥有insert的权限 -
@dan1st 你的意思是 - 尝试每 1 秒
insert?当它成功时 - 删除我们插入的记录?对于可能成为性能杀手的更大查询 -
stackoverflow.com/q/8471420/10871900 的可能重复项(jdbc 也适用于 jpa)
-
@Rasmond :您对表的权限是否也会在运行时发生变化?如果不是,我建议您可以先检查一下并将其存储在全局范围内。