SpringCloud 在Feign上使用Hystrix(斷路由)


SpringCloud  在Feign上使用Hystrix(斷路由)


第一步:由於Feign的起步依賴中已經引入了Hystrix的依賴,所以只需要開啟Hystrix的功能,在properties文件中添加以下配置:

feign.hystrix.enabled=true.

第二步:在Feign的接口上添加Hystrix(斷路由)

@FeignClient(name = "這里寫服務名稱", fallbackFactory = InsuranceCompany4OthersHystrixFactory.class)
@RequestMapping("/basebusiness/insurancecompany/4others")
public interface InsuranceCompany4OthersApi{

  @RequestMapping("getAllInsuranceCompany")
  public RetDTO getAllInsuranceCompany();

}

第三步:編寫InsuranceCompany4OthersHystrixFactory類,類上加@Component注解,注入Ioc容器中。

@Component
public class InsuranceCompany4OthersHystrixFactory implements FallbackFactory<InsuranceCompany4OthersApi>{

  @Override
  public InsuranceCompany4OthersApi create(Throwable arg0) {
    return new InsuranceCompany4OthersApi() {

      @Override
      public RetDTO getAllInsuranceCompany() {   

        RetDTO retDTO = new RetDTO();
        retDTO.setRetStatus(RetDTO.SUCCESS);
        retDTO.setRetData("服務不通");
        return retDTO;

      }

    };

  }

}

第四部:測試。把你需要調用的服務掛掉,使用Feign調用服務,如果返回 “服務不通“ 則Hystrix(斷路由)生效。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM