7. 跟踪总线事件

总线事件( 的子类 )可以通过设置 来跟踪。如果这样做,Spring Boot(如果存在)将显示发送的每个事件以及来自每个服务实例的所有 ack。这 以下示例来自终端节点:RemoteApplicationEventspring.cloud.bus.trace.enabled=trueTraceRepository/tracespring-doc.cn

{
  "timestamp": "2015-11-26T10:24:44.411+0000",
  "info": {
    "signal": "spring.cloud.bus.ack",
    "type": "RefreshRemoteApplicationEvent",
    "id": "c4d374b7-58ea-4928-a312-31984def293b",
    "origin": "stores:8081",
    "destination": "*:**"
  }
  },
  {
  "timestamp": "2015-11-26T10:24:41.864+0000",
  "info": {
    "signal": "spring.cloud.bus.sent",
    "type": "RefreshRemoteApplicationEvent",
    "id": "c4d374b7-58ea-4928-a312-31984def293b",
    "origin": "customers:9000",
    "destination": "*:**"
  }
  },
  {
  "timestamp": "2015-11-26T10:24:41.862+0000",
  "info": {
    "signal": "spring.cloud.bus.ack",
    "type": "RefreshRemoteApplicationEvent",
    "id": "c4d374b7-58ea-4928-a312-31984def293b",
    "origin": "customers:9000",
    "destination": "*:**"
  }
}

前面的跟踪显示 a 是从 发送到所有服务的,并由 和 接收 (acked)。RefreshRemoteApplicationEventcustomers:9000customers:9000stores:8081spring-doc.cn

要自己处理 ack 信号,你可以为应用程序添加 for the 和 类型(并启用 跟踪)。或者,您可以利用 并从中挖掘数据 那里。@EventListenerAckRemoteApplicationEventSentApplicationEventTraceRepositoryspring-doc.cn

任何 Bus 应用程序都可以跟踪 ack。然而,有时,它是 在可以执行更复杂的 查询数据或将其转发到专门的跟踪服务。