gpt4 book ai didi

java - 使用 Java 检查数据库是否正在运行

转载 作者:行者123 更新时间:2023-12-02 00:30:00 24 4
gpt4 key购买 nike

我想从我的 java 代码中了解我的数据库是否正在运行。我不确定哪种方法最有效。最明显的一个是有一个线程定期轮询数据库。另一种方法是使用触发器。我不太熟悉触发器,但我知道您可以触发更新、插入和删除的触发器。但是,当数据库关闭时是否可以触发触发器?当数据库关闭时触发器会工作对我来说毫无意义。

PS:我们现在使用的数据库是oracle,但我相信相同的解决方案可以应用于任何数据库

谢谢

最佳答案

触发器通常是服务器端构造;因此,要“触发触发器”,您首先需要能够连接到数据库,这需要它启动,但这没有帮助。

您“检查服务器是否启动”的动机是什么?它是否经常崩溃,或者您在执行数据库调用之前是否要格外小心,数据库没有崩溃或网络连接丢失?

如果是第二个原因,假设您使用的是 Java Oracle 驱动程序,您只会从失败的调用中得到异常。

对您的调用进行编码以捕获这些异常并重新尝试连接以重试调用。这样你就不需要轮询数据库;当连接断开时,您只需响应(不常见的)事件。

如果您尝试重新连接 5 次左右但失败,那么您可以通知调用者数据库已失效并向您的管理员发送电子邮件或其他内容。

这里有很多策略,但重点是,如果您试图确保调用执行,只需等待 java 驱动程序失败并告诉您,而不是在单独的线程上轮询数据库服务器。没必要这样。

关于java - 使用 Java 检查数据库是否正在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com