【问题标题】:Is there a way to verify that mongodb is running in Java?有没有办法验证 mongodb 是否在 Java 中运行?
【发布时间】:2021-01-14 12:04:47
【问题描述】:

目前我的应用程序使用 MongoDB。如果我在 mongo 未运行时发送请求,它将等待 30 秒,然后返回超时错误。有没有办法在启动我的应用程序时捕捉到这一点?

【问题讨论】:

  • 如何使用 Java 的 Process 实用程序对您的 mongo 主机运行 ping 命令

标签: java mongodb mongo-java-driver


【解决方案1】:

你可以:

  • 减少服务器选择超时。请参阅 here 了解相关的开发和生产配置指南。
  • 创建另一个具有低服务器选择超时(例如 1)的客户端并执行 ping(问题 {ping:1} 使用运行命令帮助程序)。这样,您将在 1 秒内知道部署是否已启动和运行。

【讨论】:

    【解决方案2】:

    结束了 ping 套接字:

    public static void mongoIsConnected() throws Exception {
        String mongoUrlStr = "http://localhost:27017"; // mongo url
        URL mongoURL = new URL(mongoUrlStr);
        SocketAddress socketAddress = new InetSocketAddress(mongoURL.getHost(), mongoURL.getPort());
        Socket socket = new Socket();
        socket.connect(socketAddress, 1000);
    }
    

    如果没有连接mongo会抛出错误

    【讨论】:

      猜你喜欢
      • 2019-12-16
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 2022-01-17
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多