1.问题描述
springboot mongodb工程报错,但是mongoTemplate查询、修改都正常;
2.解决办法
结论:检查mongodb连接配置信息,mongos节点为多个,有一个地址端口配置错误,导致连接不上对应的mongos节点、控制台一直报错,但是查询、修改功能都正常;
解释说明:私有云托管的mongodb,mongos节点地址被变更、笔误配置写错,都有可能导致上面的异常打印。
3. 排查办法
网上也没看到我这种情况,抓包之下才发现问题,tcp握手一直不成功,使用navicat测试连接发现地址端口变了。
4.DefaultServerMonitor简介
DefaultServerMonitor以固定频率请求服务器,获取mongodb服务器状态信息等。如果spring.data.mongodb.uri配置了多个mongos地址,日志里可以看到会输出多条信息,连不上就会抛出之前的异常了。