猿问

Spring boot - 线程 / Feign-Client / 消息 /

我们努力为以下场景找到解决方案:

情况

  • 通过 Spring Cloud Streamlistener 接收消息

  • 通过 Feign-Client 调用 REST-Service

  • 我们配置了几个Feign-RequestInterceptor来丰富请求头数据。

我们希望避免在方法调用时传递每个请求标头,并且喜欢请求拦截器的集中配置方法。

问题:

如何从包含信息的特定消息访问数据,这些信息需要通过 Feign-RequestInterceptor 添加到每个请求调用中。我们没有请求上下文,因为我们来自消息。

我们可以确定消息消费和 REST 调用发生在同一个线程上吗?如果是,我们可以使用 NamedThreadLocal 来存储信息。


qq_花开花谢_0
浏览 107回答 1
1回答

翻过高山走不出你

是的,除非您移交给 StreamListener 中的另一个线程,否则其余调用将在同一线程上进行(假设您使用的是RestTemplate而不是反应式 Web 客户端)。
随时随地看视频慕课网APP

相关分类

Java
我要回答