有没有办法验证 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 未连接
,这将引发错误
目前我的应用程序使用 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 未连接
,这将引发错误