在使用spring重试机制时遇到几个问题,一个是重试机制不执行,一个原因可能是因为重试方法不能在本类中调用,在本类中调用会导致代理失效,
还有一个原因可能是因为异常没有在方法外通过throws抛出来。
还有一个问题是设置延迟重试时间delay和延迟倍数multiplier,但是没有设置maxDelay最大延迟时间,则会使用默认最大延迟时间30秒
导致前面设置的延迟时间和延迟倍数如果超过30秒就会失效,最大只延迟30秒
@Retryable(value = SwlhyCodeException.class, maxAttempts = 3,
backoff = @Backoff(delay = 300000L, multiplier = 2, maxDelay = 1200000L))