报文表明RefreshRemoteApplicationEvent已从 microservice-config-server:8080发送,广播到所有服务,并被microservice-foo:8081收到和确认。
但是当我启动我的configclient的时候查看控制台日志,并没有看到actuator暴露/actuator/trace接口。取而代之的是一个/actuator/httptrace接口,我尝试访问这个接口但是结果不是我想要的上述样子,几经查阅最终确认 actuator/trace是springbootactuator1.x版本才有的一个接口,不知什么原因在springboot2.x版本后官方取消了这个接口,以下代码段是springcloudbus 2.x和1.x的tracelistener源码
可以观察到的是其实两个版本都有生成我们想要的追踪记录,只是在2.x版本并没有把保存最终记录的map集合添加到repository中,关键是即使add,2.x的代码也不会成功,因为HttpTraceRepository并没有一个map引用的属性,不知道这是不是springcloud的一个bug。
其他探究过程不再赘述了,下面说下在springcloud2.x里面怎么实现事件追踪(参考springcloud1.x版本中源码)
1. 开启bus相关属性