1. 上次同事发现高端交易系统日志, 出现大量异常日志, 如下图:
2. 经过排查, 是由于运维的系能监控系统, 定时的通过telnet执行 status -l 命令来获取dubbo线程池的负载情况(活动连接数), 如下图:
status -l 这个命令不仅会检查dubbo线程池的负载情况, 还会按照预设的checklist项, 逐个检查, 其中就包括"数据源"检查项;
3. 数据源检查会尝试去获取一个连接, 中台的数据库是采用多数据源的方式, 会从ThreadLocal获取在程序入口设置好的数据源key
4. 通过telnet 方式获取数据库连接的时候, 并没有设置这个值, 此处就报错误了!