簡體   English   中英

Spring Integration-HTTP出站網關重試邏輯實現

[英]Spring Integration - http outbound gateway retry logic implementation

我正在連接到GET REST服務thorugh http出站網關。 以下代碼片段來自spring集成XML

<http:outbound-gateway request-channel="dispatcherchannel"
    http-method="GET"
    url="http://ip:port/cacheAPI/Cache/fetch?employeeNumber={employeeNumber}"
    reply-channel="outboundreplychannel"
    expected-response-type="com.service.Employees">
<http:uri-variable name="empoyeeNumber" expression="payload"/>
</http:outbound-gateway>

我想知道如何在此網關中設置重試機制,以便如果其余服務給出了錯誤的響應代碼(例如400/500/404),則綁定網關應該能夠自動重試特定的設置次數,直到最終出錯出來。

我可以得到一個實施樣本以供參考嗎?

謝謝!

您可以在回復頻道中處理回復。 您可以使用服務激活器來處理它,解析響應,然后決定是否重試。 請記住,回復消息中的回復消息都是原始消息,因此您可以輕松地重新發送。

您可以通過Spring來解決它的問題,並且可以通過

        <int-http:request-handler-advice-chain >
        <int:retry-advice max-attempts="5" recovery-channel="channelWantSendMessagTo" >
            <int:exponential-back-off initial="1000" multiplier="5.0" maximum="600000" />
        </int:retry-advice>
    </int-http:request-handler-advice-chain>

我認為參數非常清楚,最大嘗試次數是您要重新發送消息的嘗試恢復通道的次數。 內部元素是等待時間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM