Java方式配置

/**局部**/
@FeignClient(value = "user-center", /*修改(user-center)feign的日志级别*/ configuration = UserCenterFeignConfiguration.class)
public interface UserCenterFeignClient {
@GetMapping("/users/{id}")
ResponseEntity<UserDTO> queryById(@PathVariable("id") Integer id);
}
/**
* Created by Guaguaerhao on 2022/4/28 2:21 下午
* feign 的配置类
* 这个类不能加@Configuration注解了,否则必须挪到@ComponentScan能扫描到的包以外
*
* (添加@Configuration,会导致父子上下文重复扫描)
*/
public class UserCenterFeignConfiguration {
// 修改feign日志级别
// NONE(默认值):不记录任何日志
// BASIC 仅记录请求方法、URL、响应状态吗、请求时间
// HEADERS 记录BASIC级别的基础上,记录请求和响应header
// FULL 记录请求和响应的header、body和元数据
@Bean
public Logger.Level level(){
return Logger.Level.NONE;
}
} /**全局**/
@EnableFeignClients(defaultConfiguration = GlobalFeignConfiguration.class) /*自定义Feign全局配置*/
public class ContentCenterApplication {
public static void main(String[] args) {
SpringApplication.run(ContentCenterApplication.class, args);
}
}

application.properties配置

# 修改Feign日志级别,需要配置以下 2 点
# application.properties 或 application.yml 的配置优先级高于Java配置
# 1.1 修改Feign日志级别,必须将feign的日志级别定为 debug
logging.level.com.itmuch.contentcenter.feign.UserCenterFeignClient=debug
# 1.2 修改具体哪一个微服务的Feign日志输出级别
#feign.client.config.user-center.logger-level=full # 2. 自定义Feign全局(所有微服务)配置
feign.client.config.default.logger-level=full

性能优化

Feign 连接池

1.添加依赖

        <!--Feign 连接池-->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-httpclient</artifactId>
</dependency>

2.配置application.properties

###############################################
# 配置feign连接池,需要配合依赖 feign-httpclient #
###############################################
# 让feign使用apache httpclient做请求;而不是urlconnection
feign.httpclient.enabled=true
# feign的最大连接数
feign.httpclient.max-connections=200
# feign单个路径的最大连接数
feign.httpclient.max-connections-per-route=50

Feign日志级别:推荐BASIC

Feign常见问题:

https://www.imooc.com/article/289005

39.Feign的更多相关文章

  1. SpringCloud 源码系列(6)—— 声明式服务调用 Feign

    SpringCloud 源码系列(1)-- 注册中心 Eureka(上) SpringCloud 源码系列(2)-- 注册中心 Eureka(中) SpringCloud 源码系列(3)-- 注册中心 ...

  2. Spring Cloud中Feign如何统一设置验证token

    代码地址:https://github.com/hbbliyong/springcloud.git 原理是通过每个微服务请求之前都从认证服务获取认证之后的token,然后将token放入到请求头中带过 ...

  3. 使用@FeignClient时,报java.lang.NoClassDefFoundError: feign/Feign$Builder错

    错误信息: Caused by: java.lang.ClassNotFoundException: feign.Feign$Builder at java.net.URLClassLoader.fi ...

  4. SpringCloud+Feign环境下文件上传与form-data同时存在的解决办法

    最近项目转型使用SpringCloud框架下的微服务架构,各微服务之间使用Feign进行调用.期间,发现若被调用方法涉及到文件上传且仅存在单个文件时,一切正常,代码片段如下: @RequestMapp ...

  5. Feign性能优化注意事项--超时

      Caused by: java.lang.IllegalStateException: PathVariable annotation was empty on param 1. at feign ...

  6. 【微服务架构】SpringCloud之Feign(五)

    Feign简介 Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Fei ...

  7. feign实现服务间的负载均衡

    feign Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用Feign来创建一个接口并用注解来配置它既可完成.它具备可插拔的注解 ...

  8. 【springcloud】使用@FEIGNCLIENT时,报JAVA.LANG.NOCLASSDEFFOUNDERROR: FEIGN/FEIGN$BUILDER错

    引用地址:http://www.cnblogs.com/ellacan/p/8822374.html 错误信息: Caused by: java.lang.ClassNotFoundException ...

  9. Spring Cloud Feign 出现ClassNotFoundException: feign.Feign$Builder错误

    Spring Cloud Feign 出现ClassNotFoundException: feign.Feign$Builder错误 后来发现是POM文件写错了,修改为正确的pom,就可以了: POM ...

  10. SpringCloud的入门学习之概念理解、Feign负载均衡入门

    1.Feign是SpringCloud的一个负载均衡组件. Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口, ...

随机推荐

  1. JS学习-Web Workers API接口

    Web Workers API接口 通过使用Web Workers,Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作.这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通 ...

  2. Jsonhelper类

    public static class JsonHelper { #region json转对象 /// <summary> /// json转对象 /// </summary> ...

  3. MAC怎么快速截图

    ​ 1.截取全屏 按住[command][shift][3]这三个键即可截取全屏. ​ 编辑 2.截取某区域 按住[command][shift][4]. ​ 编辑 3.截图完成 在电脑桌面能找到截图 ...

  4. datax在win10中的安装

    datax安装需要的环境 JDK(1.8以上,推荐1.8) Python(推荐Python2.7.X) Apache Maven 3.x (Compile DataX) 这里只讲下python的安装和 ...

  5. 【SSO单点系列】(4):CAS4.0 之非Ajax-iframe 登录

    一.描述 不使用Ajax-iframe 登录 仍然要自定义页面 二.思路: 将数据提交给服务器登录页面,服务登录页面自动提交. 三.实现 1.客户端 <form name="login ...

  6. vue3项目在页面退出时弹窗确认--用vant组件Dialog弹窗在路由改变的时候不生效问题

    写vue3的H5项目的时候有个需求是回退时弹窗确认是否退出当前页面 一.第一个办法------使用onbeforeRouteLeave路由钩子 const formRouteAbi = localSt ...

  7. js复制图片

    ^(* ̄(oo) ̄)^:可以复制到微信和钉钉,文件夹中不可以复制 <!DOCTYPE html> <html lang="en"> <head> ...

  8. Spring中最常用的11个扩展点

    转载自: 微信公众号 [Java后端技术] 前言 我们一说到spring,可能第一个想到的是 IOC(控制反转) 和 AOP(面向切面编程). 没错,它们是spring的基石,得益于它们的优秀设计,使 ...

  9. Caused by: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended

    可能是多数据源使用分页pageHelper导致的: 解决方法:https://blog.csdn.net/qq_35378008/article/details/90024365 https://bl ...

  10. Selenium私房菜系列6 -- 深入了解Selenium RC工作原理(1)【QQ】

    前一篇已经比较详细讲述了如何使用Selenium RC进行Web测试,但到底Selenium RC是什么?或者它由哪几部分组成呢?? 一.Selenium RC的组成: 关于这个问题,我拿了官网上的一 ...