39.Feign
2024-09-08 18:57:53
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
最新文章
- Node.js 教程 04 - 模块系统
- javascript 心得
- ROS学习笔记(七)——节点
- MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)
- JFreeChart 图表生成实例(饼图、柱状图、折线图、时序图)
- JS 更改表单的提交时间和Input file的样式
- 深度学习大牛Yoshua Bengio
- Python语法
- cocos2d-x2.x环境搭建配置
- Ajax 下拉加载数据
- 浅谈JavaScript递归
- sharepoint rest api 创建文档库 文件夹
- Angular4---部署---将Angular项目部署到IIS上
- Android之触摸手势检测GestureDetector使用详解
- spirng底层实现原理
- Git管理源代码
- [转] ADO.NET调用存储过程带输出参数或返回值
- Transactional ejb 事务陷阱
- NOIP 提高组 2014 联合权值(图论???)
- elasticsearch6.7 05. Document APIs(6)UPDATE API