Spring 启动 - 线程/Feign-Client/消息/Streamlistener
Spring boot - Threads / Feign-Client / Messaging / Streamlistener
我们努力为以下情况找到解决方案:
情况
通过 Spring Cloud Streamlistener 接收消息
通过Feign-Client
调用REST-Service
我们配置了几个Feign-RequestInterceptor来丰富
请求 header 数据。
我们希望避免在方法调用时传递每个请求 header 并且喜欢请求拦截器的集中配置方法。
问题:
如何从特定消息访问数据,其中包含需要通过 Feign-RequestInterceptor 添加到每个请求调用的信息。
我们没有 Request-Context,因为我们来自一条消息。
我们可以确定消息消费和 REST 调用发生在同一个线程上吗?如果是,我们可以使用 NamedThreadLocal 来存储信息。
是的,除非您切换到 StreamListener 中的另一个线程,否则其余调用将在同一线程上进行(假设您使用的是 RestTemplate
而不是响应式 Web 客户端)。
我们努力为以下情况找到解决方案:
情况
通过 Spring Cloud Streamlistener 接收消息
通过Feign-Client
调用REST-Service
我们配置了几个Feign-RequestInterceptor来丰富 请求 header 数据。
我们希望避免在方法调用时传递每个请求 header 并且喜欢请求拦截器的集中配置方法。
问题:
如何从特定消息访问数据,其中包含需要通过 Feign-RequestInterceptor 添加到每个请求调用的信息。 我们没有 Request-Context,因为我们来自一条消息。
我们可以确定消息消费和 REST 调用发生在同一个线程上吗?如果是,我们可以使用 NamedThreadLocal 来存储信息。
是的,除非您切换到 StreamListener 中的另一个线程,否则其余调用将在同一线程上进行(假设您使用的是 RestTemplate
而不是响应式 Web 客户端)。