Трассировка Spring Interceptor сквозная связь - как вложенные вызовы - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь войти в систему сквозной связи между службами, но я пытаюсь выяснить, каковы вложенные вызовы.

Я пытаюсь добиться чего-то подобного (меня интересует Глубина ): enter image description here

Я сделал перехватчик для restTemplate

@Bean
public AuditRestInterceptor auditRequestInterceptor() {
    return new AuditRestInterceptor();
}

@Bean
public RestTemplate restTemplate() {
    RestTemplate template = new RestTemplate();
    template.setInterceptors(Arrays.asList(auditRequestInterceptor()));
    return template;
}

Я также регистрирую Interceptor, чтобы любой вызов / api / * проходил через перехватчикfirst

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
    super.onStartup(servletContext);
    FilterRegistration.Dynamic restAuditFilter = servletContext.addFilter("restAuditFilter",
            new AuditRequestFilter(null, InvocationProtocol.REST));
    restAuditFilter.addMappingForUrlPatterns(null, false, "/api/*");
}

Теперь в перехватчике я хотел бы проследить, как вложенный вызов (deepId), но я не смог найти никакого решения / алгоритма.Есть ли что-то из весны (например, ApplicationContext) или что-то, что помогло бы мне узнать, насколько глубоко я нахожусь в сквозной связи между несколькими службами?Или кто-то может указать мне правильное направление, как реализовать такую ​​вещь?

...