当前位置: 首页 > 知识库问答 >
问题:

如何用Feign.Builder实现侦测跟踪?

章子航
2023-03-14
// Feign REST interface
public interface MyService {

    @RequestMapping(method = RequestMethod.GET, value = "/version")
    String getVersion();
}

// Creating the builder
Feign.Builder builder = Feign.builder();
builder.requestInterceptor(new MyCustomInterceptor());
// + adding proxy, encoder, decoder, etc

// Using the builder
MyService myService = builder.target(MyService.class, "http://localhost:8080/myservice");
myService.getVersion();

(我想一个选择是重新修改我们的Feign接口,使其具有@feignclient,并重新修改所有自定义拦截器、编码器等的应用方式,但最终这可能是一项很大的工作,风险也很大。)

我是否需要做一个特殊的请求拦截器来手动地注入这些(例如,从一个自动连线的跟踪器)?有没有一种干净的方法(或现有的类)来做到这一点?

共有1个答案

章威
2023-03-14

我终于想通了。

答案大致在这里:https://github.com/spring-cloud/spring-cloud-sleuth/issues/594

在使用Feign.Builder时,它的客户端需要由一个“跟踪”实现包装。

@Bean
public OkHttpClient okHttpClient() {
    return new OkHttpClient();
}
// autowiring the Client bean
@Autowired
private Client client;

// using the Client bean to build the Feign client
DemoClient demoClient = Feign.builder()
        .client(client)
        .target(DemoClient.class, "http://localhost:8200/demo");
 类似资料:
  • 我正在尝试学习python来处理一个测试项目。是否有一种方法可以在python测试框架中实现类似功能的TestNG侦听器。 侦听器有诸如OnTestFailure()、OnTestSuccess、OnStart()等方法,当您想要做某些事情时,这些方法非常有用。 比方说,一个测试用例失败了,您想执行一些操作,比如截图。然后你可以只在一个地方写,而不是在每个测试方法中都写。

  • 问题内容: 我有一个位置上给定用户的聊天室列表,而另一个位置上有给定聊天室的消息总数。我想跟踪用户所属聊天室中的一些消息。 我有以下片段: 问题是,稍后将调用onChildRemoved时,如何删除所有那些ValueEventListener呢?还是不再需要它们了? 建议的处理这种情况的方法是什么?我应该将子键和侦听器存储在HashMap中并自己进行跟踪,还是可以通过某种方法删除给定Firebas

  • 我希望为每个请求生成唯一的traceId,并将其传递给所有服务。在SpringMVC中,使用MDC上下文并将traceId放在头文件中相当容易,但在反应式堆栈中,由于ThreadLocal,它根本不起作用。 一般来说,我希望使用单个traceId记录我拥有的每个服务上的每个请求和响应,该traceId可以识别整个系统中的特定操作。 我试图根据文章创建自定义过滤器:https://azizulhaq

  • 问题内容: 在程序快要结束时,我希望将类的所有实例中的特定变量加载到字典中。 例如: 假设实例数量会有所不同,我希望将Foo()的每个实例的x dict加载到新的dict中。我该怎么办? 我在SO中看到的示例假定一个已经具有实例列表。 问题答案: 跟踪实例的一种方法是使用类变量: 在程序结束时,您可以像下面这样创建字典: 只有一个列表:

  • 问题内容: 我有一台固定的摄像机,指向室内区域。人们将走过相机,距离相机约5米。使用 OpenCV ,我想检测走过的人- 我的理想回报是一组检测到的具有矩形边界的人。 我看了几个内置示例: 没有一个 Python 示例真正适用 该 ç 斑点跟踪样品看起来很有希望,但不接受现场视频,这使得检测困难。它也是最复杂的示例,使得提取相关知识并将其转换为有问题的Python API。 该 ç “motemp

  • 自从Facebook推出了标签,我就一直有兴趣了解更多关于它们的信息。有没有人能告诉我跟踪标签的方向,就像推特允许我们通过API获取标签数据一样。我可以数一数被提及的次数、用户名和推文。Facebook有没有推出类似的产品?我在网上找不到任何文档。