1. 第一种情况, 我们在本类中调用set()方法,如果是直接调用的话则不会生效,这是spring 的通病了,我们需要做的是通过注入自身或者从IOC容器中拿自身bean对象来调用此方法。 @Retryable(value = Exception.class, maxAttempts = REDIS_RETRY, backoff = @Backoff(delay = REDIS_DELAY)) public <R>boolean se...
在Spring的配置文件中添加@EnableRetry注解,启用重试功能。这个注解将自动扫描项目中的Retryable注解,并为其提供重试支持。 importorg.springframework.context.annotation.Configuration;importorg.springframework.retry.annotation.EnableRetry;@Configuration@EnableRetrypublicclassRetryConfig{// 这里可以进行其他的重试配置} ...
@Retryable(include = {RuntimeException.class}, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 2)) public void retryMethod() { System.out.println("执行重试count=" + count++ + " 执行时间" + LocalDateTime.now()); /** * 调用第三方接口 异常 */ //抛出异常 throw ne...
1. 第一种情况, 我们在本类中调用set()方法,如果是直接调用的话则不会生效,这是spring 的通病了,我们需要做的是通过注入自身或者从IOC容器中拿自身bean对象来调用此方法。 @Retryable(value = Exception.class, maxAttempts = REDIS_RETRY, backoff = @Backoff(delay = REDIS_DELAY)) public <R>boolean se...