之前的一片博客使用的是Hystrix註解,指定的一個方法作爲服務降級調用的方法。https://blog.csdn.net/qq_41890624/article/details/103744211
這次使用類方式實現服務降級和隔離。
使用springcloud-vhukze-order-service-impl中的OrderServiceImpl中的getMember接口測試。
新建一個包,名稱爲fallback
包下新建一個類,MemberServiceFallback
實現Feign客戶端接口,實現接口中的方法,
方法的返回值就是返回的降級提示
@Component
public class MemberServiceFallback implements MemberServiceFeign{
@Override
public String getMember(String name) {
// TODO Auto-generated method stub
return "類方式服務降級";
}
}
並且在類上面添加@Component註解,把此類的對象添加到Spring容器中
在feign客戶端接口註解中添加一個屬性fallback,值爲剛剛那個實現類,如下
@FeignClient(value="app-vhukze-member",fallback=MemberServiceFallback.class)
@Component
public interface MemberServiceFeign extends IMemberService{
}
把之前配置文件中設置的Hystrix超時時間禁止的配置註釋掉,
默認超時時間是一秒,getMember中線程等待了1.5秒。
會觸發服務降級提示。
啓動Eureka,Member和Order項目,訪問剛纔添加那個接口http://localhost:8020/toMember?name=22