Comments (13)
@lzn312 可以参考下官方的文档,用@ RibbonClients
注解修饰你的配置类,这样会将这个配置类中的bean放在独立的spring上下文,而不是父context,https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ribbon.html#_customizing_the_default_for_all_ribbon_clients
from blog.
你好,请教一下CustomHttpRequestInterceptor 怎么添加到 LoadBalancerInterceptor 之后
from blog.
@Tinkerc 因为要获取到实际的IP,因此必须保证你添加的拦截器的代码在ribbon初始化的地方之后执行。
有几种方式,比如你可以监听Spring初始化完成事件,然后注入RestTemplate,把自己自定义的拦截器添加进去。
from blog.
@aCoder2013 嗯,我也是要获取实际IP,可以把关键源码贴出来一下吗,重新注入RestTemplate是否还需要单独设置@LoadBalanced
from blog.
嗯,重新注入的是ribbon初始化完成之后的RestTemplate,只需要给RestTemplate再添加一个拦截器即可
@Resource
private RestTemplate restTemplate;
private AtomicBoolean started = new AtomicBoolean(false);
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if (event != null) {
if (started.compareAndSet(false, true)) {
/*
Spring初始化完成后再执行
*/
List<ClientHttpRequestInterceptor> interceptors = restTemplate.getInterceptors();
if (interceptors == null) {
interceptors = new ArrayList<>();
}
interceptors.add(new LogClientHttpRequestInterceptor());
restTemplate.setInterceptors(interceptors);
}
}
}
from blog.
你好目前我也遇到了这个问题,在spring boot 1.5x集成ribbon和feign。**是通过自定义规则实现某些特殊请求规则定义。但是和你记录的一样当请求返回时。rule的lb选择错误导致了404,自定义的规则不能去掉。请问第二种解法能详细说一说吗?
from blog.
@aCoder2013 非常感谢你的回复,该问题已经通过配置@RibbonClients解决
from blog.
博主您好,我是电子工业出版社博文视点的编辑,看到您发表的文章,觉得内容很好,您是否有兴趣出版图书呢:)
我的微信是472954195
from blog.
你好,是要在@RibbonClients中再次配置IRule么
from blog.
非常感谢,终于找到一个花了心思的靠谱解释
from blog.
@AKwang100 很高兴能帮到你
from blog.
你好,我的微信是Tnsg_ui_lip,想请教一下你这个问题,我也遇到这个情况,但是我们没有定义IRule,我暂时加了discoverClient#getInstances打印某个服务所有的uri
from blog.
@aCoder2013 非常感谢你的回复,该问题已经通过配置@RibbonClients解决
麻烦问下如何解决的哇我用了@RibbonClients但是还是404
from blog.
Related Issues (20)
- Running Spring Boot in a Docker cluster
- How to run Apache Kafka using IntelliJ IDEA
- 分布式消息队列Apache RocketMQ源码剖析-Producer分析 HOT 1
- 日志: 分布式系统的核心 HOT 2
- 分布式消息队列实现概要
- Java并发工具类之LongAdder原理总结 HOT 10
- 下一代分布式消息队列Apache Pulsar从入门到实现(一) HOT 2
- CopyOnWriteArrayList内部工作原理剖析
- 基于JVM之上的并发编程模式剖析 HOT 3
- Redis用于频率限制上踩过的坑 HOT 10
- 消息队列实现概要——深度解读分区Topic的实现 HOT 4
- Java线程池ThreadPoolExecutor实现原理剖析 HOT 2
- Etcd Raft使用入门及原理解析
- 注册中心的设计与实现 HOT 3
- 标题修改为“注册中心的设计与实现”
- API网关异步化改造技术选型 HOT 4
- 一文带你搞懂API网关 HOT 8
- 线性一致性实现原理剖析
- Cloudflare接口服务中断故障复盘与思考 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from blog.