为什么实现UrlCleaner接口就可以覆盖掉DefaultUrlCleaner

来源:8-24 扩展Sentinel03-RESTful URL支持

慕数据1588076

2020-02-27

没明白这是怎么实现的

写回答

1回答

大目

2020-02-27

好问题,看来是以为对原理感兴趣的童鞋哈。

com.alibaba.cloud.sentinel.SentinelWebAutoConfiguration

在这个类中,注入了一个

@Autowired
private Optional<UrlCleaner> urlCleanerOptional;

然后在:

@PostConstruct
public void init() {
 urlBlockHandlerOptional.ifPresent(WebCallbackManager::setUrlBlockHandler);
 urlCleanerOptional.ifPresent(WebCallbackManager::setUrlCleaner);
 requestOriginParserOptional.ifPresent(WebCallbackManager::setRequestOriginParser);
}

所以,如果自己实现了UrlCleaner,就会读取自己的UrlCleaner了。

0
0

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3085 学习 · 1324 问题

查看课程