【发布时间】:2017-10-11 10:31:34
【问题描述】:
是否可以根据错误状态码在spring retry中设置RetryPolicy?例如我不想用 HttpStatus.BAD_REQUEST 状态代码重试 HttpClientErrorException,它是 400。因此它应该忽略所有其他错误代码 - 4XX。
我正在使用 Spring Integration http outboundGateway 来调用服务器。
现在在我的 RequestHandlerRetryAdvice 中,我将我的重试建议配置为
SimpleRetryPolicy retryPolicy = new SimpleRetryPolicy(4, Collections.singletonMap(HttpClientErrorException.class, false));
但这太笼统了,我只是不想重试 400 状态代码。对于所有其他情况,我希望我的模板重试。有人可以在这里建议我一个解决方案吗?
我查看了堆栈溢出问题,找到了一个相关的答案,但没有达到我的目的。 Is it possible to set RetryPolicy in spring-retry based on HttpStatus status code?
【问题讨论】:
-
查看您复制的问题的答案。你肯定需要那里提到的
ExpressionRetryPolicy。所以,看起来你的表情一定是statusCode.value() != 400
标签: spring spring-integration spring-retry