博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud 学习 (三) Feign
阅读量:6825 次
发布时间:2019-06-26

本文共 2522 字,大约阅读时间需要 8 分钟。

新建 spring-cloud-eureka-feign-client Module

pom

spring-cloud-parent
com.karonda
1.0.0
4.0.0
spring-cloud-eureka-feign-client
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-openfeign
org.springframework.boot
spring-boot-maven-plugin

application.yml

server:  port: 8031eureka:  client:    service-url:      defaultZone: http://localhost:8001/eureka/spring:  application:    name: feign-client

启动类

@EnableFeignClients // 开启 Feign Client@EnableEurekaClient@SpringBootApplicationpublic class EurekaFeignClientApp {    public static void main(String[] args){        SpringApplication.run(EurekaFeignClientApp.class, args);    }}

FeignClient

@FeignClient("eureka-client")public interface EurekaClientFeign {    @GetMapping("/hi")    String sayHi(@RequestParam(value = "name") String name);}

Controller

@RestControllerpublic class FeignController {    @Autowired    EurekaClientFeign eurekaClientFeign;    @GetMapping("/hi")    public String sayHi(@RequestParam String name){        return eurekaClientFeign.sayHi(name);    }}

测试

  1. 启动 eureka-server
  2. 启动 eureka-client (两个实例:一个 8011 端口,一个 8012 端口)
  3. 启动 eureka-feign-client

多次访问 可以看到 8011 和 8012 端口交替出现

添加失败重试

添加配置

@Configurationpublic class FeignConfig {    @Bean    public Retryer feignRetryer(){        return new Retryer.Default(100, SECONDS.toMillis(1), 5);    }}

修改 FeignClient

@FeignClient(value = "eureka-client", configuration = FeignConfig.class)public interface EurekaClientFeign {    @GetMapping("/hi")    String sayHi(@RequestParam(value = "name") String name);}

使用 HttpClient 或 OkHttp

在 Feign 中,Client 是一个非常重要的组件,Feign 最终发送 Request 请求以及接收 Response 响应都是由 Client 组件完成的。Client 在 Feign 源码中是一个接口,在默认的情况下, Client 的实现类是 Client.Default, Client.Default 是由 HttpURLConnnection 来实现网络请求的。Client 还支持 HttpClient 和 OkhHttp 来进行网络请求

直接添加 HttpClient 或 OkhHttp 依赖包,Feign 会自动使用对应的网络请求框架

完整代码:

本人 C# 转 Java 的 newbie, 如有错误或不足欢迎指正,谢谢

转载于:https://www.cnblogs.com/victorbu/p/11008396.html

你可能感兴趣的文章
HDU4707:Pet(DFS)
查看>>
html标签页图标
查看>>
C# list 新用法
查看>>
Android 获取控件相对于屏幕位置
查看>>
DNGuard Enterprise v2.80 released
查看>>
WPP
查看>>
C# GetSchema Get List of Table 获取数据库中所有的表名以及表中的纪录条数的方法
查看>>
PySide教程:“.NET研究”第一个PySide应用
查看>>
winrar自解压释放路径详解
查看>>
图像开运算+闭运算+腐蚀+膨胀
查看>>
poj-1324 Holedox Moving **** [转]
查看>>
深入foreach工作方式
查看>>
UIView 进行各种动画展示及其用法解释
查看>>
公布2012年5月赛CSDN算法达人赛试题及参考答案
查看>>
Mysql ON子句和USING子句
查看>>
linux杂谈
查看>>
类型、值和变量
查看>>
UIImage+Scale
查看>>
Linux sed 替换第一次出现的字符串
查看>>
windows 下VLC播放器应用之二------LIBVLC API解析
查看>>