Spring boot RetryTemplate在本地工作,但不在UAT服务器上工作
我使用的是spring boot的RetryTemplate,我正在尝试点击第三方URL,如果无法连接,那么我想重试。它在本地机器上正常工作,但如果我在UAT上部署我的应用程序并尝试重试,它将正常工作,但它重试的次数超过了前面提到的maxattempts,最后它给出504个坏_网关异常,没有任何异常大摇大摆地回应? 有人帮我吗Spring boot RetryTemplate在本地工作,但不在UAT服务器上工作,spring-boot,Spring Boot,我使用的是spring boot的RetryTemplate,我正在尝试点击第三方URL,如果无法连接,那么我想重试。它在本地机器上正常工作,但如果我在UAT上部署我的应用程序并尝试重试,它将正常工作,但它重试的次数超过了前面提到的maxattempts,最后它给出504个坏_网关异常,没有任何异常大摇大摆地回应? 有人帮我吗 retryTemplate.execute(arg0 -> { log.error("Sending Company Req
retryTemplate.execute(arg0 -> {
log.error("Sending Company Request to SIRA.");
final String xmlResponse = submitPayload(request, ResponseTimer, Client);
final ScreeningResponse screeningResponseFromXml = resultMapper
.getScreeningResponseFromXml(soapRequestXml, xmlResponse, screeningProvider, sourceDataId);
if (!screeningResponseFromXml.getErrors().isEmpty()
&& Arrays.asList(SiraRetryableFaultCode.values()).toString()
.contains(screeningResponseFromXml.getErrors().stream().findFirst().get().getCode())) {
throw new FraudFaultCodeException(screeningResponseFromXml.getErrors().stream().findFirst().get().getCode(),
sourceDataId, screeningResponseFromXml.getErrors().stream().findFirst().get().getMessage());
}
return screeningResponseFromXml;
});
=========我的重试配置文件====
@Configuration
public class RetryAppConfig {
@Bean
public RetryTemplate retryTemplate() {
RetryTemplate retryTemplate = new RetryTemplate();
FixedBackOffPolicy fixedBackOffPolicy = new FixedBackOffPolicy();
fixedBackOffPolicy.setBackOffPeriod(2000L);
retryTemplate.setBackOffPolicy(fixedBackOffPolicy);
ExceptionClassifierRetryPolicy exRetryPolicy = new ExceptionClassifierRetryPolicy();
exRetryPolicy.setPolicyMap(new HashMap<Class<? extends Throwable>, RetryPolicy>() {
{
put(RetryableException.class, new SimpleRetryPolicy(5));
put(FraudFaultCodeException.class, new SimpleRetryPolicy(5));
}
});
retryTemplate.setRetryPolicy(exRetryPolicy);
return retryTemplate;
}
}
@配置
公共类RetryAppConfig{
@豆子
公共RetryTemplate RetryTemplate(){
RetryTemplate RetryTemplate=新RetryTemplate();
FixedBackOffPolicy FixedBackOffPolicy=新的FixedBackOffPolicy();
固定回退政策。回退期(2000L);
retryTemplate.setBackOffPolicy(fixedBackOffPolicy);
ExceptionClassifierRetryPolicy exRetryPolicy=新ExceptionClassifierRetryPolicy();
exRetryPolicy.setPolicyMap(新的HashMap没有看到您的代码就无法判断。@KarolDowbecki--请检查我已经添加了codehI@Sushant的一些部分,我们需要更多的代码。您提到重试的次数也比平常多,但我们无法看到重试配置。您能试着在服务器上模拟请求,看看是否有可能到达?@Brother请检查我的配置文件。除此之外,我没有对服务器进行任何更改。它正在重试,但比我在simpleretry中提到的内容更多,即5次,最后它以大摇大摆的姿态显示504 bad_gateway