2.21.4. 异步过滤器


如果必须暂停执行过滤器直到有特定资源可用,您可以将其转换为异步过滤器。关闭请求异步不需要对您的资源方法声明或额外的过滤器声明进行任何更改。

要将过滤器的执行异步切换,您必须进行 cast:

  • ContainerRequestContext to SuspendableContainerRequestContext 用于 pre 和 post 请求过滤器。
  • ContainerResponseContext 转换为用于响应过滤器 的 SuspendableContainerResponseContext

这些上下文对象可以通过调用 suspend() 方法将当前过滤器的执行转换为异步。异步后,过滤器链会被暂停,只有在上下文对象中调用以下方法之一后才会恢复:

  • abortWith(Response) :终止过滤器链,将给定的 Response 返回给客户端。这只适用于 ContainerRequestFilter。
  • restore() :通过调用下一个过滤器来恢复过滤器链的执行。
  • Restore(可浏览) :通过抛出给定异常来中止执行过滤器链。这的行为就像过滤器是同步的,并且三个给出的异常。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.