一个请求的所有Zuul过滤器是否在同一个线程中执行?

问题描述 投票:1回答:1

我有一个基于netflix Zuul的代理服务。对于任何日志,从我的自定义过滤器或Zuul内置过滤器,我想有一个名为Flow-Id的请求标头作为我的日志的一部分。我可以通过使用预过滤器在MDC上下文中设置此标头的值来实现此目的。但这只适用于所有过滤器都在同一个线程中执行的情况。

一个请求的所有Zuul过滤器是否在同一个线程中执行?当这个请求仍然在进行时,这个线程会运行其他任何东西吗?

log4j2 netflix-zuul spring-cloud-netflix
1个回答
2
投票

我查看了代码,发现Zuul代理正在使用servlet。 Spring spring将这个servlet包装在ServletWrappingController中。

所以为了回答我自己的问题,所有过滤器都在一个线程中执行。

为了确保尽可能早地设置MDC上下文,我在servlet过滤器中添加了一个spring bean。

© www.soinside.com 2019 - 2024. All rights reserved.