在WSO2 ESB端点中停止重试

时间:2016-03-23 00:33:06

标签: wso2esb

我使用了以下端点属性并希望它停止重试命中但仍在重试。我想只有一次点击终点,无论是成功还是失败。

<endpoint name="DecisionGatewayProxy_EPR">
    <address uri="http://XXXX:8280/soap/XXXX">
        <timeout>
            <duration>20000</duration>
            <responseAction>fault</responseAction>
        </timeout>
            <markForSuspension>
            <errorCodes>101504, 101505</errorCodes>
            <retriesBeforeSuspension>0</retriesBeforeSuspension>
            <retryDelay>1</retryDelay>
        </markForSuspension>
        <suspendOnFailure>
            <errorCodes>101500, 101501, 101506, 101507, 101508</errorCodes>
            <initialDuration>20000</initialDuration>
            <progressionFactor>0.0</progressionFactor>
        </suspendOnFailure>
    </address>
</endpoint>

2 个答案:

答案 0 :(得分:1)

AFAIK默认行为是发送单个请求。如果失败,ESB会将其标记为超时。所以IMO不会在超时后自动重试。但是,如果您需要将端点标记为SUSPENDED,则可以<retriesBeforeSuspension>0</retriesBeforeSuspension> 因此,这将在单端点故障后标记端点SUSPENDED。

希望这有帮助。

答案 1 :(得分:0)

我认为在WSO2 ESB中不可能这样做。作为建议,请确保从服务器发送响应,无论成功或失败(至少发送202 ACCEPTED),然后它将不会重试发送相同的消息。