java - jaeger 跟踪和 Spring Cloud OpenFeign

标签 java spring jaeger openfeign

我正在使用 spring Cloud openFeign 来从 service#1 向 service#2 发出请求

当我使用restTemplate时,我可以在jaeger跟踪中正确地看到2个请求。但是当使用 openFeign 时我只看到 1 个请求。有没有办法整合jaeger和openFeign?

我发现了这个: https://www.baeldung.com/spring-cloud-openfeign
https://github.com/OpenFeign/feign-opentracing

最佳答案

spring-cloud-openfeign 因为来自 spring-cloud 系列,一旦添加 opentracing-spring-jaeger-cloud-starter ,就应该自动检测,如所述 here 。 但有时(取决于您创建 Feign 客户端 bean 的方式)您需要显式地将 bean 暴露给 spring 上下文,以便自动配置可以检测您的 Feign 客户端。

类似这样的事情:

@Scope("prototype")
fun feignClient() : Client {
    return Client.Default(null, null)
}

它是 kotlin,但你可以适应。

关于java - jaeger 跟踪和 Spring Cloud OpenFeign,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58504344/

相关文章:

angularjs - Grails spring-security-rest 身份验证被拒绝 : Dynamic method get<Artefact>Class(artefactName)

java - 处理程序调度失败;嵌套异常是 java.lang.NoClassDefFoundError : org/apache/http/client/HttpClient

trace - 使用 Spring Boot 的 Jaeger

java - 将跟踪从Docker容器发送到在VM中运行的Jaeger Docker容器的问题

java - 向 jaeger 代理发送跟踪时出现问题

java - 重新组合多重贴图元素

java - 如何初始化Class<?扩展我的类>

java - 验证代码是否在 Vaadin 7 应用程序的用户界面线程上运行

java - 用于在 android 中读取 SRT 文件的正则表达式

java - 无法将自定义行为添加到所有存储库 - IllegalArgumentException : Not an managed type