依赖性:
spring-boot:1.5.2
spring-cloud:Dalston.SR3
使用spring-cloud系列:
配置erueka zuul bus kafka
我使用git webhook和总线自动刷新zuul路由配置。一周后,发现创建了超过3000个线程。
这里的线程转储报告:report from fastthread
并且弄清楚,每次调用XXX/bus/refresh
端点时,都会导致线程数增加7。
增加的帖子列表:
DiscoveryClient-0
DiscoveryClient-1
DiscoveryClient-2
...
经过一些调试和跟踪,我发现刷新时,
首先会拨打EurekaClientConfiguration#eurekaClient
,然后拨打RefreshableEurekaClientConfiguration#eurekaClient
。
由于这些注释是@ConditionalOnMissingRefreshScope
和@ConditionalOnRefreshScope
,我认为只会调用其中一个。
我不确定这是否会导致问题。但是当我删除配置部件时,一切正常。有人可以帮忙吗? THX!