栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Java 3.0驱动程序检查MongoDB身份验证

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Java 3.0驱动程序检查MongoDB身份验证

MongoClient构造函数不会引发任何与连接相关的异常。相反,它们在启动一个或多个尝试建立连接并基于提供的凭据进行身份验证的后台线程后立即返回。

仅当应用程序使用MongoClient在MongoDB服务器上执行某些操作时,才会引发异常。但是,该异常是通用超时异常,指示驱动程序在服务器选择超时到期之前未能找到适合该操作的服务器。例如:

    MongoClient client = new MongoClient(asList(new ServerAddress("localhost"), new ServerAddress("localhost:27018")),        singletonList(MongoCredential.createCredential("username","admin","bad".toCharArray())),        MongoClientOptions.builder().serverSelectionTimeout(1000).build());    try {        client.getDB("admin").command("ping");    } catch (MongoTimeoutException e) {        // do something    }

1秒后将引发MongoTimeoutException。虽然未引发MongoSecurityException,但MongoTimeoutException的消息将包含相关详细信息。例如,当其中一台服务器关闭时连接到三个成员的副本集时,其余两个服务器均未通过身份验证,则MongoTimeoutException的消息字段将类似于:

等待与ReadPreferenceServerSelector {readPreference =
primary}匹配的服务器时,在1000毫秒后超时。群集状态的客户端视图是{java.net。} {type = UNKNOWN,服务器=
[{address = localhost:27017,type = UNKNOWN,state = CONNECTING,exception =
{com.mongodb.MongoSocketOpenException:异常打开套接字}}。
ConnectException:连接被拒绝}},{地址=本地主机:27018,类型=未知,状态=连接,异常=
{com.mongodb.MongoSecurityException:认证MongoCredential {mechanism =
null,userName =’username’,source
=’admin’的异常,由{com.mongodb.MongoCommandException引起的,密码=,机制属性=
{}}}:命令失败,错误18:“身份验证失败”。在服务器localhost:27018上。完整的响应为{“ ok”:0.0,“ pre”:18,“



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386189.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号