我们很难找到以下情况的解决方案:
情况
通过Spring Cloud Streamlistener接收消息
通过Feign-Client调用REST服务
我们已经配置了多个Feign-RequestInterceptor以丰富 请求标头数据。
我们希望避免在方法调用中传递每个请求标头,就像请求拦截器的集中配置方法一样。
问题:
如何从包含特定信息的消息中访问数据,这些信息需要通过Feign-RequestInterceptor添加到每个请求调用中。 我们没有来自消息的Request-Context。
我们可以确定消息使用和REST调用是在同一线程上发生的吗?如果是,我们可以使用NamedThreadLocal来存储信息。
答案 0 :(得分:1)
是的,除非您切换到StreamListener中的另一个线程,否则其余调用将在同一线程上进行(假设您使用的是RestTemplate
,而不是响应式Web客户端)。