2013-03-16 58 views

回答

2

聽起來像一個兩個 - 你要麼需要一個聽衆將一個異步請求完成後調用,或者您不需要使用異步請致電

你的問題有點過於籠統。

一般說來 - 異步呼叫用於呼叫者對呼叫的即時結果不感興趣時​​。 如果主叫方有興趣立即知道該呼叫的結果,則應使用同步呼叫。 如果調用者沒有興趣立即知道結果(例如它有次要優先級,如登錄某些業務應用程序),但在執行異步調用時應執行一些操作,您應該使用某種聽衆

你需要異步調用的是一些監聽(類javax.servlet.AsyncListener的)。

聽衆你肯定知道的異步調用結束(的onComplete方法),並可以執行一些動作來完成/補充異步調用


再次,如果您發現請求的調用者需要立即知道結果,那麼您的架構中可能存在錯誤。你應該使用同步呼叫 - 等待直到通話完成,你將得到它的結果。在這種情況下,使用異步呼叫是錯誤的。


我看到人們如何使用某種形式的循環,從時間到檢查時間異步調用的結果,但它看起來像在例99.99%,這樣的做法是一些架構錯誤的結果。

+0

謝謝,聽衆處理它 – Geronimo 2013-03-16 19:12:09

1

您可以註冊可以實現onComplete()方法的AsyncListener。

需要將AsyncListener添加到AsyncContext中。

相關問題