嘿,我有一个http出站网关,我已经附加了重试建议:
.handle(Http.outboundGateway(spelParser.parseExpression("headers." + HeaderKeys.TARGET_ENDPOINT))
.extractPayload(true)
.httpMethod(HttpMethod.POST)
.expectedResponseType(String.class)
.requestFactory(requestFactory())
.get()
, httpOutboundEndpointSpec())
httpOutboundEndpointSpec
:
@Bean
public Consumer<GenericEndpointSpec<HttpRequestExecutingMessageHandler>> httpOutboundEndpointSpec() {
return new Consumer<GenericEndpointSpec<HttpRequestExecutingMessageHandler>>() {
@Override
public void accept(GenericEndpointSpec<HttpRequestExecutingMessageHandler> spec) {
spec.advice(context.getBean("lengthy", RequestHandlerRetryAdvice.class));
spec.requiresReply(true);
}
};
}
有没有办法根据邮件内容动态地连接建议?不同的客户现在需要不同的退避间隔。我可以为每个客户端编写一个出站网关,每个都有不同的重试建议,但这会产生很多网关。