有没有一种方法可以验证mongodb是否在Java中运行



当前我的应用程序使用MongoDB。如果我在mongo未运行时发送请求,它将等待30秒后返回超时错误。有没有一种方法可以让我在启动应用程序时了解到这一点?

最终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没有连接,这将引发错误

您可以:

  • 减少服务器选择超时。有关开发和生产配置指南,请参阅此处
  • 创建另一个服务器选择超时较低的客户端(例如1(并执行ping(使用run命令助手发出{ping:1}(。通过这种方式,您将在1秒内知道部署是否已启动&正在运行

最新更新