栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springcloud(4)-consumer实现feign接口调用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springcloud(4)-consumer实现feign接口调用

所讲代码仓库地址:https://gitee.com/raoyuuuu/springcloud-demo

实现 创建spring boot项目

依赖


    4.0.0
    
        com.example
        cloud-parent
        0.0.1-SNAPSHOT
        
    

    com.example
    cloud-consumer
    0.0.1-SNAPSHOT
    cloud-consumer
    Demo project for Spring Boot

    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        
        
        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
            2.2.9.RELEASE
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



application配置
server:
  port: 8002
spring:
  application:
    name: cloud-consumer

eureka:
  client:
    register-with-eureka: true #因为是消费端,不需要给其他模块提供服务,也可以不向eureka注册,这边是已向eureka注册
    fetch-registry: true # 拉取服务
    service-url:
      defaultZone: http://localhost:7001/eureka/
  instance:
    prefer-ip-address: true
    instance-id: springcloud-consumer8002

# hystrix熔断器
feign:
  circuitbreaker:
    enabled: true

DeptFeign
@Component
@FeignClient(value = "cloud-provider",fallback = DeptFeignFallBack.class)
public interface DeptFeign {
    @GetMapping("dept/list")
    List list();
}
DeptFeignFallBack
@Component
public class DeptFeignFallBack implements DeptFeign {
    @Override
    public List list() {
        Map map = new HashMap();
        map.put("msg","发生异常,联系管理员");
        List list = new ArrayList<>();
        list.add(map);
        return list;
    }
}
DeptController
@RestController
@RequestMapping("dept")
public class DeptController {
    @Autowired
    private DeptFeign deptFeign;

    @GetMapping("list")
    public List queryByNo(){
        return deptFeign.list();
    }
}
CloudConsumerApplication
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients
@EnableHystrix // 开启熔断器
public class CloudConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(CloudConsumerApplication.class, args);
    }

}
启动eureka、provider、consumer服务

访问http://localhost:8002/dept/list,consumer通过feign成功访问到provider服务

熔断器作用

假设provider服务不可用,停止provider服务,再次访问 http://localhost:8002/dept/list

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号