gpt4 book ai didi

java - 我可以检查异步请求是否完成吗?

转载 作者:行者123 更新时间:2023-12-01 23:56:56 25 4
gpt4 key购买 nike

有没有办法检查异步 ServletRequest 是否从 AsyncContext 完成?我看到 Spring 有某种wrapper that supports this但谷歌搜索我在标准库中找不到任何东西。这就是我所希望的。

我使用的是 Tomcat 7。

最佳答案

听起来像是两者之一 - 您要么需要一个在异步请求完成时调用的监听器,要么不需要使用异步调用

你的问题有点太笼统了。

一般性讨论 - 当调用者对调用的即时结果不感兴趣时​​,使用异步调用。如果调用者有兴趣立即知道调用结果,则应使用同步调用。如果调用者不想立即知道结果(例如,它具有次要优先级,如登录某些业务应用程序),但应在异步调用执行结束时执行某些操作,那么您应该使用某种监听器

异步调用需要一些监听器(属于 javax.servlet.AsyncListener 类)。

监听器中,您将确定异步调用已经结束(onComplete方法),并且可以执行一些操作来完成/补充异步调用

<小时/>

同样,如果您发现请求的调用者需要立即知道完成后的结果,则您的架构中可能存在错误。您应该使用同步调用 - 只需等到调用完成即可获得结果。在这种情况下使用异步调用是错误的。

<小时/>

我看到人们如何使用某种循环来不时检查异步调用的结果,但看起来在 99.99% 的情况下,这种方法是某种架构的结果错误。

关于java - 我可以检查异步请求是否完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15446476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com