我們需要保證發送Web服務請求。步驟如下:確保向Web服務發送請求
- 嘗試將請求發送到Web服務。同步或異步請求無關緊要。
- 如果服務由於某種原因(例如服務不可用)而未確認請求,我們會在一段時間內再次嘗試第1步(即有某種輪詢)。
問題在於執行步驟#2(即輪詢)。 這個用例看起來很常見,我認爲應該已經有解決方案了。所以我希望只向Web服務發送一個請求,所有其他邏輯(即其保證的交付)將由某個框架執行。
你知道這樣的解決方案嗎?
有「Guaranteed delivery」EIP模式和駱駝支持它。但是我沒有找到駱駝支持它的任何信息,以及它是否適合我們的情況。
我們的要求 - Java,SOAP,開源解決方案。 我們計劃使用Apache CXF,但它並不重要。
最後的話:分別提供 2偉大的答案:
- 春重試布萊恩·阿格紐。這是相當普遍的方法,不僅適用於Web服務。
- 來自Ashok Nanda的CXF故障切換。該解決方案就Web服務而言,完全符合我們的需求。
不幸的是我不能選擇兩個答案作爲最終讓我選擇了布萊恩的一個,因爲它是第一個,他提供了幫我看看另一個可能的問題:-) 謝謝你們一個真正偉大的解釋!
我不會真的稱之爲「輪詢」,而只是「重試」。 (請小心如何解決何時重試,請注意。)我不確定你在這裏尋找什麼 - 模式或庫中現有模式的實現? –