SpringBoot如何使用假装实现远程接口调用和错误熔断

  介绍

小编给大家分享一下SpringBoot如何使用假装实现远程接口调用和错误熔断,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

1。第一步,新建两个简单的springboot项目并创建其他接口

演示系统的其他接口

 springboot如何使用假装实现远程接口调用和错误熔断

+系统的调用接口

 springboot如何使用假装实现远程接口调用和错误熔断

2。在项目pom文件里导入假装和hystrix的pom依赖包

& lt; properties>   ,,,& lt; java.version> 1.8 & lt;/java.version>   ,,,& lt; spring-cloud.version> Greenwich.SR1   & lt;才能/properties>      & lt; !——,支持使用假装客户端,——比;   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.cloud   ,,,,,& lt; artifactId> spring-cloud-starter-openfeign   ,,,& lt;/dependency>   ,,,& lt; !——,支持使用hystrix断路器,——比;   ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.cloud   ,,,,,& lt; artifactId> spring-cloud-starter-netflix-hystrix   ,,,& lt;/dependency>      & lt; dependencyManagement>   ,,,& lt; dependencies>   ,,,,,& lt; dependency>   ,,,,,,,& lt; groupId> org.springframework.cloud   ,,,,,,,& lt; artifactId> spring-cloud-dependencies   ,,,,,,,& lt; version> $ {spring-cloud.version} & lt;/version>   ,,,,,,,& lt; type> pom   ,,,,,,,& lt; scope> import   ,,,,,& lt;/dependency>   ,,,& lt;/dependencies>   & lt;才能/dependencyManagement>

3。创建远程调用客户端及熔断回调类

package  com.mybatis.plus.web.client;      import  org.springframework.cloud.openfeign.FeignClient;   import  org.springframework.web.bind.annotation.RequestMapping;      @FeignClient (name=癲emo" url=? {conf.address.demo}“, fallbackFactory=DemoFeignClientFB.class)   public  interface  DemoFeignClient  {   ,,   @RequestMapping才能(“cmpOclOrder/demoFeign")   public 才能;String  testFeign ();      } package  com.mybatis.plus.web.client;      import  feign.hystrix.FallbackFactory;   import  org.apache.commons.logging.Log;   import  org.apache.commons.logging.LogFactory;   import  org.springframework.stereotype.Component;      @ component   public  class  DemoFeignClientFB  implements  FallbackFactory< DemoFeignClient>, {   private 才能static  Log  logger =, LogFactory.getLog (DemoFeignClientFB.class);      @Override才能   public 才能;DemoFeignClient 创建(Throwable  throwable), {   ,,,return  new  DemoFeignClient (), {   ,,,,@Override   ,,,,,public  String  testFeign (), {   ,,,,,,,return “演示系统接口调用失败“;   ,,,,,}   ,,,};   ,,}   }

这里的url在配置文件里面有定义(就是需要调用系统的IP及端口)

 SpringBoot如何使用假装实现远程接口调用和错误熔断

如果要支持熔断(如果调用远程接口报错,远程接口就返回一个固定的值)需要在配置文件里启用hystrix

 SpringBoot如何使用假装实现远程接口调用和错误熔断

4。在启动类上加上支持假装的注解就好了(这里basePackages值是定义客户类的包路径)

 SpringBoot如何使用假装实现远程接口调用和错误熔断

5。测试效果展示

调用+系统的plusTest接口

 SpringBoot如何使用假装实现远程接口调用和错误熔断

演示系统接口时报错(修改代码——重启)

 SpringBoot如何使用假装实现远程接口调用和错误熔断

返回固定的值

 SpringBoot如何使用假装实现远程接口调用和错误熔断

SpringBoot如何使用假装实现远程接口调用和错误熔断