gpt4 book ai didi

java - Tomcat 或 Jetty 上的 Spring Web 应用程序 Controller 内基于事件的编程

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

HTTP Controller (Spring) 获取请求并进行阻塞调用。一旦阻塞调用结束,控件就会返回到 Controller 。

此时,我不想将响应发送回客户端,而是等待另一个事件(例如,完成某些处理)发生。一旦该事件发生,我就需要一种方法来从事件中收集数据,然后返回包含该数据的 HTTP 响应。

HTTPController doSomething( HTTPRequest ) 
{
makeBlockingCall();
waitForEventToHappen();
collectDataFromEvent();

return HTTPResponse();

}

最佳答案

您不会在一个请求中执行此操作,因为这最终可能会超时,并且在此之前不会向客户提供正在发生的事情的反馈。

相反,您会立即显示一个页面,该页面异步(可能通过 AJAX)轮询服务器以查看结果是否已可用。

因此第一个请求将返回一个 ID,该 ID 将在第二个 (AJAX) 请求中用于查找结果。

关于java - Tomcat 或 Jetty 上的 Spring Web 应用程序 Controller 内基于事件的编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10562851/

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