0

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

4

2 回答 2

0

结束了 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 未连接,这将引发错误

于 2020-09-29T01:38:01.327 回答
-2

你可以:

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