当前位置: 首页 > 网络应用技术

OpenFeign Remote呼叫请求标题的丢失和异步呼叫损失上下文问题

时间:2023-03-06 15:31:44 网络应用技术

  以下原则是OpenFeign的长时间调用方法的源代码。可以看出,Spring调用buildTemplateFromargs.create(argv)方法来构建新请求。没有请求头信息,这是我们请求标题的数据。它将丢失。

  但是,当我们看到在构建此新请求时,我们将输入executeanddecode(模板,选项)方法。输入此方法后,我们看到继续调用请求请求= targetRequest(模板),可以看出,我们所有的拦截器拦截器,将参数添加到构造函数中,因此将interceptor i拦截器添加到我们的容器中以解决该问题请求头损失。代码如下如下

  目前,新请求将在我们的拦截器进来后立即致电。我们可以在Interceptor上设置所需的请求标头信息以设置请求设置。

  以上是打开拨打丢失请求标头的OpenFeign遥控器。目前,我们发现,如果这是异步请求,我们的拦截器将无法设置所需的需求信息。

  这是线程局部的使用,也就是说,您可以获取同一线程携带的数据,但是无法获得不同线程的数据。该解决方案可以将异步请求添加到异步请求中,以将上下文信息添加到异步请求中。

  目前,您可以解决失去背景的问题

  原始:https://juejin.cn/post/7101515014846021669