gpt4 book ai didi

java - 如果 MongoDB 无法访问,如何得到错误?

转载 作者:行者123 更新时间:2023-12-04 03:43:34 24 4
gpt4 key购买 nike

我的应用程序与两个数据库交互:一个在 MongoDB 上,另一个在 Neo4J 上。

问题是,如果数据库被禁用或无法访问,应用程序就会崩溃。由于 Neo4J 驱动程序的 verifyConnectivity 方法和 try-catch 语句,我解决了有关 Neo4J 的问题,但对于 MongoDB,问题仍然存在。事实上,该应用程序似乎在等待 MongoDB,但 MongoDB 已被禁用,因此该应用程序会无限期等待,而不会发送任何异常。

我正在寻找一种方法来了解 MongoDB 无法访问以便将此通知给用户,也许需要超时或类似的东西?这种情况怎么设置呢?

我使用的编程语言是Java,MongoDB驱动版本如下:

    <groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.1.1</version>

编辑:

try
{
mongoClient = MongoClients.create(connectionString);
database = mongoClient.getDatabase(dbName);
DBObject ping = new BasicDBObject("ping","1");
database.runCommand((Bson) ping);
}
catch (Exception ex)
{
System.err.println("MongoDB is not available");
return false;
}
return true;

最佳答案

您可以使用 ping(请参阅 here)对其进行测试,这是一个空操作。

try
{
DBObject ping = new BasicDBObject("ping", "1");
mongoClient.getDb().getMongo().getDB("<YOUR_DB").command(ping);
} catch (Exception exp){
//Cannot connect to MongoDB or your DB
}

关于java - 如果 MongoDB 无法访问,如何得到错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65538727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com