2012-10-31 46 views
0

有沒有辦法讓Jax-rs/Jersey中的處理線程在它們之間進行通信? 如果是這樣,那麼最好的方法是什麼?Jax-rs/Jersey線程間通信

+0

爲什麼啊,爲什麼你想這樣做的建議? – Perception

+0

哈哈感知:)我想發送一個響應client1,這取決於天氣另一個HTTP請求來自client2在一段時間後,我收到來自client1的請求。 我認爲我可以讓client1線程等待一段時間,並被另一個線程通知類似的HTTP請求已經到達。任何建議在另一種方式來做到這一點? – ticofab

+1

對於JAX-RS,這不是一個好的用例。你有沒有看過Comet/Long輪詢? – Perception

回答

0

我認爲這是一個糟糕的設計。
每個請求 - 響應應儘可能自治。
如果需要線程間通信,
您可以使用標準的J2SE的東西,
例如,一些同步的數據結構,並且可以選擇一個從 的java.util.concurrent包。
例如,您可以擁有一個可以通過其所有線程的靜態getInstance方法訪問的單例,並在其中存在線程標記
並且即將發送一些響應給客戶端,並通過線程B查詢如果這個線程被執行。
如果你想線程B等到線程A,你可以使用一些鎖定的對象,也許Condition,通過@Wyzard