有关如何在特定时间间隔内重试API的建议

时间:2019-05-15 23:18:28

标签: java rest spring-boot retrytemplate

API A调用API B,后者又调用APIC。APIA将套接字超时设置为15秒。 API C将在15秒内返回响应。但是我看到有时C在100毫秒内关闭套接字。我希望API B在15秒内发生套接字超时的情况下重试APIC。 API C可以在15秒内重试任意多次。但是,如果有响应,则必须将其返回给A,并且不应丢失。有没有办法在Java中做到这一点?

我尝试使用spring retrytemplate,但是使用该方法我可以重试指定的次数,也可以在指定的时间间隔后重试。两者都不符合我的要求

@Retryable(value = {TypeOneException.class, TypeTwoException.class}, maxAttempts = 4, backoff = @Backoff(2000))

public String retryWhenException() throws TypeOneException, TypeTwoException { 
//call API C
}

0 个答案:

没有答案