返回顶部
首页 > 资讯 > 精选 >怎么用spring retry方法调用失败重试机制
  • 524
分享到

怎么用spring retry方法调用失败重试机制

2023-06-29 09:06:14 524人浏览 泡泡鱼
摘要

这篇文章主要介绍“怎么用spring retry方法调用失败重试机制”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用spring retry方法调用失败重试机制”文章能帮助大

这篇文章主要介绍“怎么用spring retry方法调用失败重试机制”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用spring retry方法调用失败重试机制”文章能帮助大家解决问题。

前言

很多场景会用到重试的机制,比如:rpc服务调用失败重试,文件上传oss失败重试,Http接口调用失败重试,支付回调失败重试等等,一切因为网络,非逻辑性错误等不确定因素引起的失败都可以加上重试的机制,来增强系统的健壮性,博主也处理过文件上传到第三方oss服务失败增加重试的事例,在这之前不知道spring有个spring-retry项目,所以采用的是限制次数的递归调用的方式来解决的。

现在我们来看看Spring Boot项目中怎么使用spring-retry来处理是失败重试的问题。

1.导入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId></dependency>

ps:不要遗漏spring-boot-starter-aop包

2.注解的使用

    @Retryable(maxAttempts=9,exclude = ArrayIndexOutOfBoundsException.class,value=Exception.class,backoff=@Backoff(delay = 1000))    public String getResult(String name){        System.out.println("尝试调用第"+i+++"次");        name= name.split(",")[1111];//异常测试        if(i!=8){            name= name.split(",")[1111];//异常测试        }        return name+":你好!";    }

3.开启重试

@SpringBootApplication@EnableRetrypublic class BootRetryApplication {public static void main(String[] args) {SpringApplication.run(BootRetryApplication.class, args);}}

ps:别忘了@EnableRetry注解开启重试

补充,手动声明式重试:

public static void main(String[] args) {        ProxyFactory factory = new ProxyFactory(HelloService.class.getClassLoader());        factory.setInterfaces(HelloService.class);        factory.setTarget(new HelloService() {            @Override            public String say() {                System.err.println("hello");                if(1==1) throw new SecurityException();                return "a";            }        });        HelloService service = (HelloService) factory.getProxy();        jdkRegexpMethodPointcut pointcut = new JdkRegexpMethodPointcut();        pointcut.setPatterns(".*say.*");        RetryOperationsInterceptor interceptor = new RetryOperationsInterceptor();        ((Advised) service).addAdvisor(new DefaultPointcutAdvisor(pointcut, interceptor));        service.say();    }

关于“怎么用spring retry方法调用失败重试机制”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 怎么用spring retry方法调用失败重试机制

本文链接: https://lsjlt.com/news/324070.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用spring retry方法调用失败重试机制
    这篇文章主要介绍“怎么用spring retry方法调用失败重试机制”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用spring retry方法调用失败重试机制”文章能帮助大...
    99+
    2023-06-29
  • spring retry方法调用失败重试机制示例解析
    目录前言1.导入依赖2.注解的使用3.开启重试补充,手动声明式重试:前言 很多场景会用到重试的机制,比如:rpc服务调用失败重试,文件上传oss失败重试,http接口调用失败重试,支...
    99+
    2024-04-02
  • Spring Retry重试怎么使用
    本篇内容介绍了“Spring Retry重试怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!spring-retry是什么?...
    99+
    2023-07-04
  • Spring Boot中怎么使用Spring-Retry重试框架
    这篇文章主要介绍“Spring Boot中怎么使用Spring-Retry重试框架”,在日常操作中,相信很多人在Spring Boot中怎么使用Spring-Retry重试框架问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-06-30
  • Spring Boot中怎么使用Spring Retry重试框架
    今天小编给大家分享一下Spring Boot中怎么使用Spring Retry重试框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2023-06-30
  • Spring Boot中使用Spring Retry重试框架的操作方法
    目录Spring Retry 在SpringBoot 中的应用Maven依赖注解使用开启Retry功能注解@Retryable注解@Recover注解@CircuitBreakerR...
    99+
    2024-04-02
  • Java 远程调用失败重试的操作方法
    目录常规做法注解重试@Retryable 详解总结在日常开发的过程中我们经常会需要调用第三方组件或者数据库,有的时候可能会因为网络抖动或者下游服务抖动,导致我们某次查询失败。 这种时...
    99+
    2024-04-02
  • spring retry实现方法请求重试的使用步骤
    目录1 spring-retry是什么?2 使用步骤2.1 引入maven库2.2 在spring启动类上开启重试功能2.3 公共业务代码2.4 传统的重试做法2.5 使用sprin...
    99+
    2024-04-02
  • 怎么配置Spring Batch批处理失败重试
    本篇内容介绍了“怎么配置Spring Batch批处理失败重试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • 如何使用Spring中的重试机制
    这篇文章主要介绍“如何使用Spring中的重试机制”,在日常操作中,相信很多人在如何使用Spring中的重试机制问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Spring中的重试机制”的疑惑有所帮助!...
    99+
    2023-06-15
  • Python retrying 重试机制的使用方法
    目录循环加判断 retrying 我们在程序开发中,经常会需要请求一些外部的接口资源,而且我们不能保证每次请求一定会成功,所以这些涉及到网络请求的代码片段就需要加上重试机制。下面来说...
    99+
    2024-04-02
  • Android 调用notifyDataSetChanged方法失败解决办法
    Android 调用notifyDataSetChanged方法失败解决办法如果使用ListView、GridView等进行数据展示,当绑定的数据有了更新的时候,需要实时刷新ListView,即调用Adapter的notifyDataSet...
    99+
    2023-05-30
    android notifydatasetchanged dat
  • win10重置失败无法开机怎么办
    如果在Windows 10重置过程中出现了问题,导致无法开机,可以尝试以下方法来解决问题:1. 启用安全模式:在开机过程中按下F8或...
    99+
    2023-10-10
    win10
  • win11重装失败无法开机怎么办
    如果您在重装Windows 11后无法开机,您可以尝试以下方法来解决问题:1. 检查BIOS设置:确保您的计算机的启动顺序正确设置,...
    99+
    2023-09-11
    win11
  • php调用webservice失败怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php调用webservice失败怎么办?php编写webservice案例、webservice调用失败作为开发者来讲,要想写webservice接口或者调用别人的we...
    99+
    2014-12-17
    php webservice
  • ajax调用php失败怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。ajax调用php失败怎么办?ajax请求php报500错误,ajax只能发起GET请求,而不能发POST请求,否则报500错误我是大标题1abc $.ajax({ ...
    99+
    2024-04-02
  • android.uid.system调用失败怎么解决
    要解决android.uid.system调用失败的问题,可以尝试以下方法: 重启设备:尝试重新启动设备,有时候这种简单的操作就...
    99+
    2024-03-15
    android
  • MySQL限制登陆失败次数,限定用户重试时间
    设置方法 登录MySQL数据库 mysql -u root -p  输入一下命令安装插件 install plugin CONNECTION_CONTROL soname 'connection_control.so';instal...
    99+
    2023-09-02
    mysql centos 数据库 linux Powered by 金山文档
  • php 中调用 time失败怎么办
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php 中调用 time失败怎么办?php中使用time获取到当前小时数不对解决办法:通常是php.ini中的时区timezone设定没有设成中国Asia/Shangha...
    99+
    2016-04-01
    php time
  • php调用webservice失败怎么解决
    这篇“php调用webservice失败怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php调用webservice...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作