我的应用程序与两个数据库交互:一个在mongodb上,另一个在neo4j上。
问题是,如果数据库被禁用或无法访问,应用程序就会崩溃。我解决了关于neo4j的问题,这多亏了neo4j驱动程序的verifyconnectivity方法和try-catch语句,但是对于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;
1条答案
按热度按时间dtcbnfnu1#
你可以用
ping
(见这里),这是一个禁止操作。