1

http 送信ゲートウェイを介して GET REST サービスに接続しています。次のコード スニペントは、Spring Integration 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 のような悪い応答コードを返した場合、最終的にエラーが発生するまで、送信ゲートウェイが特定の設定回数だけ自動的に再試行できるようにする必要があります。アウト。

参照用に実装されたサンプルを入手できますか?

ありがとう!

4

2 に答える 2

0

あなたはすでに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>

パラメータはかなり明確だと思います。最大試行回数は、メッセージを再送信する回復チャネルの試行回数です。内部要素は待ち時間用です

于 2014-12-15T20:44:15.400 に答える
0

応答チャネルで応答を処理できます。サービスアクティベーターで処理し、応答を解析してから、再試行するかどうかを決定できます。返信チャネルには返信とともに元のメッセージが含まれているため、簡単に再送信できることに注意してください。

于 2014-07-27T18:05:06.430 に答える