介绍
小编给大家分享一下SpringBoot如何使用假装实现远程接口调用和错误熔断,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
1。第一步,新建两个简单的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及端口)
如果要支持熔断(如果调用远程接口报错,远程接口就返回一个固定的值)需要在配置文件里启用hystrix
4。在启动类上加上支持假装的注解就好了(这里basePackages值是定义客户类的包路径)
5。测试效果展示
调用+系统的plusTest接口
演示系统接口时报错(修改代码——重启)
返回固定的值