【发布时间】:2021-01-14 12:04:47
【问题描述】:
目前我的应用程序使用 MongoDB。如果我在 mongo 未运行时发送请求,它将等待 30 秒,然后返回超时错误。有没有办法在启动我的应用程序时捕捉到这一点?
【问题讨论】:
-
如何使用 Java 的 Process 实用程序对您的 mongo 主机运行 ping 命令
标签: java mongodb mongo-java-driver
目前我的应用程序使用 MongoDB。如果我在 mongo 未运行时发送请求,它将等待 30 秒,然后返回超时错误。有没有办法在启动我的应用程序时捕捉到这一点?
【问题讨论】:
标签: java mongodb mongo-java-driver
你可以:
{ping:1} 使用运行命令帮助程序)。这样,您将在 1 秒内知道部署是否已启动和运行。【讨论】:
结束了 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会抛出错误
【讨论】: