spring-retry

springboot调用spring-retry:

配置依赖Maven:
<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>

启动类:

@SpringBootApplication
@EnableTransactionManagement // 启注解事务管理
@EnableScheduling
@EnableRetry // 【注意这里】启用了重试功能
public class TestWebApplication {
 
	public static void main(String[] args) {
		SpringApplication.run(TestWebApplication.class, args);
	}
}

重试部分的代码:

@Service
public class RetryServiceImpl implements RetryService {
    private static final Logger LOGGER = LoggerFactory.getLogger(RetryServiceImpl.class);
 
    private AtomicInteger count = new AtomicInteger(1);
 
 
    @Override
    @Retryable(value = { RemoteAccessException.class }, maxAttemptsExpression = "${retry.maxAttempts:10}",
            backoff = @Backoff(delayExpression = "${retry.backoff:1000}"))
    public void retry() {
        LOGGER.info("start to retry : " + count.getAndIncrement());
 
        throw new RemoteAccessException("here " + count.get());
    }
 
	 /*
	@Recover 的用法。
	它要求它注释的方法的返回值必须和@Retryable的注释的方法返回值保持一致,
	否则@Recover 注释的方法不会被调用。它还有关于自己参数的使用要求。
	*/
    @Recover
    public void recover(RemoteAccessException t) {
        LOGGER.info("SampleRetryService.recover:{}", t.getClass().getName());
    }        
}   

 

文章持续更新:欢迎各位小伙伴关注我的公众号:菜丸的程序屋。希望将我的不足之处给予指点,谢谢大家。喜欢Java,热衷学习的小伙伴可以加我微信: CaiWan_Y
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值