传送门一((一)Spring Cloud分布式之初识Eureka——注册中心):https://cloud.tencent.com/developer/article/1449744
传送门二((二)Spring Cloud分布式之使用Eureka和Feign实现项目间简单的远程调用):https://cloud.tencent.com/developer/article/1449945
TeacherService中新增loginHystrix方法,当id等于101并且password等于abc的时候返回true,说明登录成功。
@RequestMapping(value="/loginHystrix", method = RequestMethod.POST)
public boolean loginHystrix(@RequestParam("id")int id, @RequestParam("password")String password){
if (id==101&&password.equals("abc")){
return true;
}else{
return false;
}
}
#开启熔断机制
feign.hystrix.enabled=true
@RequestMapping(value="/loginHystrix", method = RequestMethod.POST)
public boolean loginHystrix(@RequestParam("id")int id, @RequestParam("password")String password);
@FeignClient(name = "TEACHER", fallback = TeacherServiceImpl.class)
@Override
public boolean loginHystrix(int id, String password) {
System.out.println("熔断处理,找不到该方法!");
return false;
}
分别开启注册中心(centerdemo项目),消费者(receptiondemo项目),提供者(teacherdemo项目)。开启后浏览器输入下图地址,查看注册中心状态。
地址栏先输入正确参数:id为101,password为abc
可以看到页面输出“登录成功”。
再关闭teacherdemo项目,重新刷新页面。
页面输出“登录成功”。再看看receptiondemo项目的控制台。
控制台输出“熔断处理,找不到该方法!”,熔断处理测试成功。
CounselorService代码如下
package com.eurekademo.receptiondemo.service;
import com.eurekademo.receptiondemo.service.hystrix.CounselorServiceImpl;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@FeignClient(name = "COUNSELOR", fallback = CounselorServiceImpl.class)
public interface CounselorService {
@RequestMapping(value = "/askCounselor", method = RequestMethod.POST)
public String askCounselor();
}
CounselorServiceImpl代码如下
package com.eurekademo.receptiondemo.service.hystrix;
import com.eurekademo.receptiondemo.service.CounselorService;
import org.springframework.stereotype.Component;
@Component
public class CounselorServiceImpl implements CounselorService {
@Override
public String askCounselor() {
return "找不到班主任!去找老师去吧~~~";
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。