连接mongodb时出现host/port/credentials/replicaSet must be specified
连接mongodb的时候出现问题host/port/credentials/replicaSet must be specified配置文件的配置内容如下:报错信息如下:如果你也有一样的错误,请检查你的配置,mongodb ,uri 和username ,password 是不能同时进行配置,到底为何呢,接下来我们进入源码进行查看,根据错误信息,追踪到报错的行进行查看,如下图:可以看到这是一个校验
·
连接mongodb的时候出现问题 host/port/credentials/replicaSet must be specified
配置文件的配置内容如下:
报错信息如下:
如果你也有一样的错误,请检查你的配置,mongodb ,uri 和username ,password 是不能同时进行配置,到底为何呢,接下来我们进入源码进行查看,根据错误信息,追踪到报错的行进行查看,如下图:
可以看到这是一个校验参数的方法,该方法的意思是,如果配置了, host , port , 获取配置认证信息 如 username , password ,或者配置了 replicaset 分配的集合,则进行如下判断,重点看一下 Assert.state 方法
可以看到,该方法第一个参数是一个boolean, if 表达式中进行了取反,在上一个方法调用中,判断uri是否为null;如果不为空则抛出类非法状态异常,不能正常进行工作。
ps:关于spring,assert
的用法,推荐大家看一篇文章
解决办法:
uri和username中只要配置其中一个即可,
或者
更多推荐
已为社区贡献2条内容
所有评论(0)