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