当前位置: 首页 > 知识库问答 >
问题:

数据库中断时的Spring Boot连接异常

屈博
2023-03-14

有什么办法处理我的情况吗?

共有1个答案

云光明
2023-03-14

与其“关闭”应用程序,另一个可能更好的解决方案可能是实现断路器,在那里您可以为远程依赖项的失败提供适当的后备措施(在您的例子中是mongodb连接超时)。已经有很好的库实现了这种开箱即用的功能,并且很容易用Spring Boot进行配置。您可以查看Hystrix、Resilience4J或Sentinel。

如果您仍然想继续先前ping MongoDB的方法,那么您可以在依赖项中包含Actuator,并使用MongoHealThindicator自己检查状态。它在内部运行一个查询

@Override
    protected void doHealthCheck(Health.Builder builder) throws Exception {
        Document result = this.mongoTemplate.executeCommand("{ buildInfo: 1 }");
        builder.up().withDetail("version", result.getString("version"));
    }

你可以

 类似资料:
  • 本章介绍如何从OrientDB命令行断开与特定数据库的连接。 它关闭了当前打开的数据库。 以下语句是Disconnect命令的基本语法。 注 - 只有在连接到特定数据库后才能使用此命令,并且只会关闭当前运行的数据库。 示例 在这个例子中,我们将使用在前一章中创建的名为的数据库。 我们将从数据库断开连接。 可以使用以下命令断开数据库连接。 如果它成功断开连接,将获得以下输出 -

  • 我在SprintBoot 2上配置了一个DB连接(HikariCP)。我在application.properties中定义了poolName: 我想监控空闲的数据库连接的数量,所以我试图创建一个线程来监控数据库连接: } 但我得到一个例外,它无法找到poolName HikariConnectionPool的实例。关于如何获得HikariCP管理的空闲DB连接,有什么建议吗? 进一步分析,我可以

  • 我对Windows Azure完全陌生。 我目前有一个本地db用于我的。NET应用程序。我已经创建了一个azure帐户以及相关的SQL azure数据库。 我正在添加C代码,以便将数据从本地应用程序传递到云。为了测试此功能,我添加了一个随机用户,我想将其插入Azure DB。 我使用了以下教程:http://www.windowsazure.com/en-us/develop/net/how-to

  • 我有一个几乎功能齐全的实时数据库存在系统,如这里所述,但我遇到了一些问题。似乎即使在不久前断开连接后,人们仍然保持在线状态。我不知道为什么,但我暂时向未经身份验证的请求开放了我的安全规则,但无济于事。这可能是由于此处描述的错误。 如果问题是梯子,那么避免这个问题的正确JavaScript实现是什么?每 60 分钟重新创建一次“断开连接”侦听器是一个好的解决方案吗?作为参考,我使用的代码如下所示:

  • 我正在尝试从Spring Boot应用程序连接到mySQL数据库。然而,当我试图运行它时,它显示出错误。 我如何解决这个问题? 错误 从我的文件中添加代码片段 pom。xml 应用属性 堆栈跟踪 我还没有在sql中手动创建表,因为我认为spring.jpa.hibernate.ddl-Auto=date应该这样做

  • 问题内容: 我使用 惰性连接 来连接到数据库对象中的数据库。从根本上讲,这意味着直到处理完第一个查询后,它才会调用mysql_connect(),并且此后它随后将跳过重新连接。 现在,我的数据库类中有一个方法,该方法几乎可以调用和设置(因此该方法将知道再次连接到数据库)。应该在每个查询之后(作为私有函数)还是通过对象从外部调用此方法……因为我在想类似的东西(代码仅是示例) 现在,如果它在每次查询后