gpt4 book ai didi

spring-integration - 带条件的 http 出站重试(用于检查器条件)

转载 作者:行者123 更新时间:2023-12-04 17:59:14 25 4
gpt4 key购买 nike

我想使用重试条件进行 http 出站网关调用。出站网关将重试,直到我返回 ERROR 或 COMPLETE 的其余 API。

我做的是:

<int-http:outbound-gateway request-channel="checkJobChannel"
url="http://host/rest/job-status"
http-method="GET"
extract-request-payload="true"
expected-response-type="java.lang.String"
reply-timeout="10000"
reply-channel="checkJobChannel.reply"
auto-startup="true"
transfer-cookies="true">

然后是路由器

@Router(inputChannel = "checkJobChannel.reply",applySequence = "true")
public String pointJob(Message<?>reply) {
String returnChannel ="";
if(reply.getPayload().get("status").equals("RUNNING")){
returnChannel="checkJobChannel";
}else if(reply.getPayload().get("status").equals("COMPLETE")|reply.getPayload().get("status").equals("ERROR")){
returnChannel="nextChannel";
}
return returnChannel;
}

我可以这样做吗?谢谢。实现该目标的简单方法是什么?

最佳答案

看起来不错。如果您没有从该 REST 服务返回任何异常,那么您使用路由器的简单方法对我来说看起来不错。

你只能注意有一个RequestHandlerRetryAdvice您可以将其放入您的 <int-http:outbound-gateway>隔离逻辑。

此外,您还可以考虑 RequestHandlerCircuitBreakerAdvice不要根据某些条件调用您的 REST 服务。

但由于您在那里没有异常(exception),您将需要提出一些“支柱”来满足这些模式的要求。

您可以在 Reference Manual 中找到有关此事的更多信息.

关于spring-integration - 带条件的 http 出站重试(用于检查器条件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37538019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com