Spring Cloud Netflix:Zuul“Post”过滤器是否可以保证被调用?

时间:2015-08-19 16:56:43

标签: spring spring-boot spring-cloud

当利用Spring MVC时,我们可以利用拦截器“预先”和“发布”处理请求。具体来说,我们可以在prehandle方法中设置资源(例如线程局部),并保证有机会在afterCompletion / afterConcurrentHandlingStarted方法中清理这些资源。

考虑Zuul过滤器,如果我们在“Pre”过滤器中设置资源,我们是否同样保证将调用“Post”过滤器?有没有更好的方法来使用这种编程模型初始化/清理线程本地?

感谢,

约书亚

1 个答案:

答案 0 :(得分:0)

从查看代码:https://github.com/Netflix/zuul/看起来如果“pre”或“route”中存在异常,则运行“error”过滤器,然后“post”过滤器。如果在任何类型(“pre”或“route”等)中发生异常,则会跳过其余的过滤器,因此如果您的过滤器是第一个,我会说它将被调用。