2016-11-23 106 views
0

我有一個java restful web服務實現,並且我有一個方法在那個使得HTTP請求需要3-4分鐘的ws,我想知道我是否可以得到任何好處使該調用異步。Restfull Web服務中的異步HTTP請求

該線程可能被其他請求使用,或者主線程會阻止該線程?

編輯:我正在向我的網絡服務A(僅限同步申請)提出請願P,請求由線索T1處理,請願P呼叫需要3-4分鐘的URL時,我才能獲得福利如果我使該調用異步(對於需要3-4分鐘的URL)。線程T1等好處將能夠處理新的請求? 如果答案是否定的,那麼異步執行該調用還有另一個好處嗎?

回答

0

阻止HTTP請求很長時間不好,因爲HTTP是同步的。

而不是阻塞,它會更好地使其異步並返回202 Accepted。爲了得到結果,你有兩個選擇:

  • 輪詢(客戶端定期輪詢的結果)
  • 回調

進一步的閱讀看看這個(與回調URL的幫助下通知客戶端) blogpost:https://www.adayinthelifeof.nl/2011/06/02/asynchronous-operations-in-rest/Best way to create REST API for long lasting tasks?

+0

是的,我已經知道,但這並沒有回答我的主要問題。我更新了這個問題以獲得更好的描述。 –