当前位置: 首页 > news >正文

广东成都网站建设推广公司外贸网站模板制作

广东成都网站建设推广公司,外贸网站模板制作,大连建设集团招聘信息网站,网站要流量有什么用Spring-Retry框架是Spring自带的功能#xff0c;具备间隔重试、包含异常、排除异常、控制重试频率等特点#xff0c;是项目开发中很实用的一种框架。 1、引入依赖 坑点#xff1a;需要引入AOP#xff0c;否则会抛异常。 xml !-- Spring-Retry -- dependency具备间隔重试、包含异常、排除异常、控制重试频率等特点是项目开发中很实用的一种框架。 1、引入依赖 坑点需要引入AOP否则会抛异常。 xml !-- Spring-Retry -- dependency groupIdorg.springframework.retry/groupId artifactIdspring-retry/artifactId /dependency !-- Spring-AOP -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-aop/artifactId /dependency 2、启动类注解 坑点很容易一时疏忽忘记启动类开启EnableRetry大家别忘了哦。 java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.retry.annotation.EnableRetry; SpringBootApplication EnableRetry public class SpringRetryDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringRetryDemoApplication.class, args); } } 3、模拟发短信 我们模拟一个发短信功能根据随机数分别作为成功、失败、抛出各种异常的入口。 这里抛出几种异常的目的是为了后面演示出重试注解参数产生的效果。 java import cn.hutool.core.util.RandomUtil; import lombok.extern.slf4j.Slf4j; /** * p * 短信服务工具类 * /p * */ Slf4j public class SmsUtil { /** * 发送短信 */ public static boolean sendSms() { // 使用随机数模拟重试场景 int num RandomUtil.randomInt(4); log.info([SmsUtil][sendSms] random num {}, num); return switch (num) { case 0 - // 模拟发生参数异常 throw new IllegalArgumentException(参数有误); case 1 - // 模拟发生数组越界异常 throw new ArrayIndexOutOfBoundsException(数组越界); case 2 - // 模拟成功 true; case 3 - // 模拟发生空指针界异常 throw new NullPointerException(); default - // 未成功则返回false false; }; } } 4、Retry应用 我们单独写一个用于重试调用的组件类用于业务类调用。 java import com.example.springretrydemo.util.SmsUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.retry.annotation.Backoff; import org.springframework.retry.annotation.Recover; import org.springframework.retry.annotation.Retryable; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * p * 重试组件 * /p * */ Slf4j Component public class RetryComponent { /** * 重试机制发送短信 */ Retryable( retryFor {IllegalArgumentException.class, ArrayIndexOutOfBoundsException.class}, noRetryFor {NullPointerException.class}, maxAttempts 4, backoff Backoff(delay 2000L, multiplier 2) ) public boolean sendSmsRetry() { log.info([RetryComponent][sendSmsRetry] 当前时间{}, getNowTime()); return SmsUtil.sendSms(); } /** * 兜底方法规则 * 1、超出了最大重试次数 * 2、抛出了不进行重试的异常 */ Recover public boolean recover() { log.info([RetryComponent][recover] 短信发送次数过多请稍后重试); return false; } /** * 获取当前时间 */ private String getNowTime() { return LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss)); } } Retryable注解参数说明 Recover注解说明用于兜底当 超出了最大重试次数 或 抛出了不进行重试的异常 时直接执行该注解声明的兜底方法。 总结 Spring-retry框架还是挺实用的但不是万能的。 所以使用这个框架一定要明确好场景再使用我这里不推荐复杂场景下使用因为君子不立于危墙之下。 最后说一句(求关注!别白嫖) 如果这篇文章对您有所帮助或者有所启发的话求一键三连点赞、转发、在看。 关注公众号woniuxgg在公众号中回复笔记  就可以获得蜗牛为你精心准备的java实战语雀笔记回复面试、开发手册、有超赞的粉丝福利
http://www.hkea.cn/news/14531057/

相关文章:

  • 南京网站设计课程平台公司有哪些
  • 网站建设有什么意见网站设计公司 无锡
  • 昆明制作网站费用企业做网站需要什么条件
  • 网站开发源码售卖合同吉林建站
  • 网站 板块 模块关于营销策划的方案
  • 做外贸翻译用那个网站河北seo网站优化价格
  • 做网站 多页面网址怎么弄最新的网络营销方式
  • 临清住房建设网站中国互联网企业排名前十名
  • 网站平台建设属于什么采购wordpress多个标签页
  • 营销网站 建设 高端有哪些可以建设网站的单位
  • 杭州网站seo软件开发类型
  • 网站的项目建设周期建设网站需要备案么
  • 张家口人社app最新下载做网站优化价格
  • seo网站推广排名新手学做网站难吗
  • 怎么看别人的wordpress重庆seo快速优化
  • 上海网站建设公司怎么分辨好坏有没有做游戏评测的网站
  • win7在局域网做网站网站优化设计方案怎么做
  • ip做网站需要过白名单吗梁山网站建设价格
  • 做博客网站赚钱吗做 网络网站
  • 网站设计的实例自建个网站怎么做
  • 姜堰网站开发建英语网站
  • 买奢侈品代工厂做的产品的网站名刚备案的域名如何做网站
  • 网站推广与优化方案产品网站建设找哪家
  • wordpress附件页面随州抖音seo收费标准
  • 网站301和302wordpress技术性博客主题
  • 南京旅游网站建设公司wordpress 首页变量
  • 做类似返利网的网站有哪些wordpress文章背景颜色
  • 卓越职业院校建设专题网站wordpress for sae图床
  • 做网站的风险百度获客
  • 网站结构分析具体分析内容外贸网站建设经验