если есть способ проверить, запущен ли сервер mongoDB из драйвера java для MongoDB?
Так что, если вы можете сделать следующее:
Mongo m = new Mongo( "localhost" , 27017 );
DB db = m.getDB( "mydb" );
Затем вы подключаетесь к базе данных, иначе m.getDB()
выдаст исключение. Если вы можете подключиться к базе данных, то сервер MongoDB работает .
Единственный способ, который я нашел, это вызвать db.getDatabaseNames () и перехватить MongoException.
Есть ли еще цивилизованный подход?
Что-то конкретно не так с этим подходом?
Драйвер в основном работает в песочнице, где он может или не может подключиться. Вы просите водителя узнать что-то конкретное о сервере ( запущен ли процесс X? ), но это не работа водителя. Он может либо подключаться, либо нет, он не отвечает за работу службы / процесса, только за подключение к нему.
Чтобы знать, что процесс на самом деле запущен, вам нужны административные функции на этом сервере, которые позволят вам убедиться, что mongod
действительно работает с правильными параметрами.