restfull Web Service中的异步HTTP请求

时间:2016-11-23 00:52:34

标签: java web-services rest asynchronous

我实现了一个java restful web服务,我在ws中有一个方法,它发出一个需要3-4分钟的HTTP请求,我想知道我是否可以获得使该调用异步的任何好处。 / p>

线程可以被其他请求使用,或者主要呼叫会阻止该线程吗?

编辑:我正在向我的网络服务A(仅同步请愿书)提出请愿书P,该请愿书由线程T1处理,当请愿书P拨打需要3-4分钟的URL时,我是否会获益我使该调用异步(到需要3-4分钟的URL)。线程T1的好处将能够处理新的请愿? 如果答案是否定的,那么异步执行该调用还有另一个好处吗?

1 个答案:

答案 0 :(得分:0)

阻止HTTP请求这么长时间是不好的,因为HTTP是同步的。

最好不要阻塞,最好使其异步并返回202 Accepted。为了得到结果,你有两个选择:

  • 轮询(客户定期轮询结果)
  • 回调(在callback-url的帮助下通知客户端)

如需进一步阅读,请查看此博文:https://www.adayinthelifeof.nl/2011/06/02/asynchronous-operations-in-rest/Best way to create REST API for long lasting tasks?