spring cloud feign 常见问题解决办法
2017-09-07 00:00
836 查看
1、第一次访问失败原因
一般首次访问都会比较慢,因为spring的懒加载机制,需要实例化一些类。hystrix默认的超时时间为1秒,超过后,就会调用fallback代码。解决方案有一下三种:1.1、加大hystrix的超时时间
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 100000
1.2、禁用hystrix超时时间
hystrix.command.default.execution.timeout.enabled: false
1.3、禁用feign的hystrix(不推荐)
feign.hystrix.enabled: false
2、client(消费者)启动失败原因
消费者一般和api接口定义不在一个package下,导致启动失败。解决办法引入api的package:@SpringBootApplication(scanBasePackages= {"com.api"}) @EnableFeignClients(basePackages={"com.api"})
3、使用@RequestParam, @RequestBody 时需要注意的
请参考https://my.oschina.net/u/182501/blog/1532081。4、Feign使用http client
Feign在默认情况下使用的是JDK原生的URLConnection发送HTTP请求,没有连接池,但是对每个地址会保持一个长连接,即利用HTTP的persistence connection 。我们可以用Apache的HTTP Client替换Feign原始的http client, 从而获取连接池、超时时间等与性能息息相关的控制能力。Spring Cloud从Brixtion.SR5版本开始支持这种替换,首先在项目中声明Apache HTTP Client和feign-httpclient依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>${httpclient.version}</version> </dependency> <dependency> <groupId>com.netflix.feign</groupId> <artifactId>feign-httpclient</artifactId> <version>${feign-httpclient.version}</version> </dependency>
配置application.yml
feign: httpclient: enabled: true #启用httpclient
相关文章推荐
- Spring Mail常见问题分析和解决办法
- SpringCloud(十四):Feign的demo之解决超时问题
- SpringCloud中Feign调Token丢失解决办法
- Spring Cloud中关于Feign的常见问题总结
- Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
- spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?
- 微服务开发架构——Spring Cloud常见问题与总结<二>Hystrix/Feign 整合Hystrix后首次请求失败
- Spring Cloud中Feign的常见问题
- Spring Cloud搭建时碰到的问题及解决办法
- Spring常见问题解决办法汇总
- Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
- fetch使用的常见问题及解决办法
- linux 常见问题解决办法
- 视频直播常见问题与解决办法汇总【系列三—直播推流】
- struts2,hibernate4,spring3配置时问题汇总及解决办法
- 严重: Error listenerStart的解决办法---使用Spring时遇到的问题
- DedeAMPZ整合包的安装使用、卸载方法等常见问题解决办法
- Spring Cloud中,Eureka常见问题总结
- 常见问题及解决办法 整理之9(动态语句语法)
- NRF51822开发中常见问题和解决办法汇总----持续添加