В настоящее время я пытаюсь подключиться к набору реплик MongoDB с использованием (относительно) нового 3.0 Java-драйвера. Однако, похоже, я не могу поймать MongoSecurityExceptions, которые возникают, когда пользователь предоставляет плохие учетные данные. Это мой текущий код.Проверка подлинности MongoDB с драйвером Java 3.0
try {
MongoClientURI mongoClientURI = new MongoClientURI("mongodb://<user>:<password>@member1.com:27017/?authSource=db"
this.mongoClient = new MongoClient(mongoClientURI);
}
catch(Exception e) {
// TODO: some proper exception handling
System.err.println(e.toLocalizedMessage());
}
Этот код прекрасно работает при запуске с правильными учетными данными, но исключение вне примерки улова, когда предоставляются плохие учетные данные.
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='<user>', source='<source>', password=<hidden>, mechanismProperties={}}
at com.mongodb.connection.SaslAuthenticator.authenticate(SaslAuthenticator.java:61)
at com.mongodb.connection.DefaultAuthenticator.authenticate(DefaultAuthenticator.java:32)
at com.mongodb.connection.InternalStreamConnectionInitializer.authenticateAll(InternalStreamConnectionInitializer.java:99)
at com.mongodb.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:44)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:127)
at java.lang.Thread.run(Thread.java:745)
Любая идея, где обращаться с исключениями аутентификации?