Spring Retry:RetryTemplate

参考

核心学习文章:
Spring(34)——Spring Retry介绍

简略版:
重试框架Spring retry实践

很好的Spring学习专栏

概念总结

RetryOperations:Spring重试接口
RetryTemplate:RetryOperations的Spring默认实现

RetryPolicy:重试机制接口
SimpleRetryPolicy:RetryPolicy的Spring默认实现
核心学习文章中第一部分介绍了所有的policy以及使用实例。

RetryCallback(先执行)-》RecoveryCallback(RetryCallback不能再重试的时候,如果定义了RecoveryCallback,就会调用RecoveryCallback)
RetryCallback与RecoveryCallback是RetryTemplate中要执行的方法,不管是显示定义还是匿名函数的方式。

RetryListener:RetryTemplate中可以注册监听器,类似于切面,可以在第一次尝试、最后一次尝试、失败时进行加强

实际demo

	private static final RetryTemplate OPT_LOCK_RETRY_TEMPLATE;

    private static final int MAX_RETRY_TIMES = 3;

    static {
        //最多重试3次
        RetryPolicy simpleRetryPolicy = new SimpleRetryPolicy(MAX_RETRY_TIMES,
                Collections.singletonMap(OptLockFailureException.class, true));

        OPT_LOCK_RETRY_TEMPLATE = new RetryTemplate();
        OPT_LOCK_RETRY_TEMPLATE.setRetryPolicy(simpleRetryPolicy);
    }


	TxnCommitDto txnCommitDto = OPT_LOCK_RETRY_TEMPLATE.execute(context ->
      MtmBosClientFactory.getTxnCommitExecutor().execute(txnCommitCommand)
            );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值