有没有办法验证 mongodb 是 Java 中的 运行?

Is there a way to verify that mongodb is running in Java?

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

您可以:

  • 减少服务器选择超时。有关开发和生产配置指南,请参阅 here
  • 创建另一个具有低服务器选择超时(例如 1)的客户端并执行 ping(使用 运行 命令助手发出 {ping:1})。这样你会在 1 秒内知道部署是否启动 & 运行ning.

结束了对套接字的 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 未连接

,这将引发错误