Java注入的奇怪问题

问题复盘

2020.05.21晚上十点开始系统升级,由于事先发布过灰度环境,并且验证接口返回没有问题,因为对接方暂未升级,所以返回数据一致为空。此为背景。在22号0点左右,对接方数据接入,但是接口返回结果仍然为空,日志打印正常,根据日志中打印的查询条件,使用工具顺利查出若干条数据,然而程序中没有任何异常报错信息,对于问题的排查只有一点点的通过代码分析。

项目背景

由于对接方是使用的mongdb数据库,我方进行对应条件查询,查询索引,字段等信息在测试环境均做过完整验证,不存在任何问题,因此生产环境只需要对mongodb进行必要的配置即可,因为原有功能中包含对该系统进行连接的操作,故而复用原有配置。

问题分析

程序日志打印内容如下:
Java注入的奇怪问题
由于日志信息中打印了查询条件,且程序正常执行没有报错信息。所以是用打印出的查询条件,对mongodb直接查询进行验证是否真正没有数据。查询如下:
Java注入的奇怪问题
由结果可知,确实存在结果,但是接口返回确实是0,所以开始分析代码。初步怀疑是mongodb的相关配置没有注入成功,导致的连接问题。
从测试环境到正式环境代码中始终是自动注入的mongodbTemplate
Java注入的奇怪问题
查找mongodb的原始配置,发现存在一点点偏差:
Java注入的奇怪问题
有上图可知,测试环境一直采用默认primary的bean注入,两种方式也都是通过url去访问的,两个参数对应的值也是一致相同的且都有在配置中心配置,因为开始怀疑是注入的问题,出于验证的心态,将注入改为下面的bean名称注入,更改如下:
Java注入的奇怪问题
更改后,部署验证,结果莫名其妙的成功获取到了返回数据。有点奇怪有点迷茫,这问题有点意思。。。。