如何正确的使用spring cloud hystrix
更新:HHH   时间:2023-1-7


今天就跟大家聊聊有关如何正确的使用spring cloud hystrix,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1:pom 引入jar包

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
      </dependency>

2:添加注解

Application中增加 @EnableCircuitBreaker 开启hystrix功能

3:配置文件配置

注意:feign中的hystrix的enabled属性要设置true

hystrix:
 command:
  transferApprove: # 这里是要设置超时时间的方法,如新增其他方法需要增加此节点信息。
   execution:
    isolation:
     thread:
      timeoutInMilliseconds: 6000 #默认连接超时时间是1秒

4:增加代码

  代码注意fastOrBatchFallback的出参和入参要和设置了@HystrixCommand注解方法一致,否则会抛出异常。

 @Override
  @HystrixCommand(fallbackMethod = "fastOrBatchFallback")
  public ResultModel transferApprove(TransferApproveDto dto) {
    log.info("调动流程审批:{}", dto);
    if (StringUtils.isEmpty(dto.getOperatorId())
        || StringUtils.isEmpty(dto.getFlowNos())
        || StringUtils.isEmpty(dto.getOperatorId())) {
      return ResultModel.fail(-1, "参数异常");
    }
  }
 
 
  public ResultModel fastOrBatchFallback(TransferApproveDto transferApproveDto) {
    log.info("请求ps服务超时,请稍后再试.入参:{}", GsonUtils.toJsonString(transferApproveDto));
    return ResultModel.fail("请求服务超时,请稍后再试", "ps服务超时,请稍后再试");
  }

看完上述内容,你们对如何正确的使用spring cloud hystrix有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注天达云行业资讯频道,感谢大家的支持。

返回开发技术教程...