我已经实现了一个java restful web服务,并且我有一个方法,在ws中生成一个HTTP请求需要3-4分钟,我想知道我是否可以从异步调用中获得任何好处。
线程可能会被另一个请求使用,还是会被主调用阻塞?
编辑:我正在向我的web服务A提交请愿书P(仅限同步请愿书),该请愿书由线程T1处理,当请愿书P调用需要3-4分钟的网址时,如果我使该调用异步(到需要3-4分钟的网址),我是否会获得好处。像线程T1这样的好处将能够处理新的请求?如果答案是否定的,那么异步调用还有其他好处吗?
发布于 2016-11-23 16:13:15
阻塞HTTP请求这么长时间并不好,因为HTTP是同步的。
与其阻塞,不如将其设为异步并返回202 Accepted。为了得到结果,你有两个选择:
回调url轮询(客户端定期轮询result)
要进一步阅读,请查看这篇博文:https://www.adayinthelifeof.nl/2011/06/02/asynchronous-operations-in-rest/或Best way to create REST API for long lasting tasks?。
https://stackoverflow.com/questions/40754305
复制相似问题