public class ClientWorker implements Closeable{
public ClientWorker(final HttpAgent agent,final ConfigFilterChainManager configFilterChainManager,final Properties properties){
//开启定时器,执行周期1s
this.executor.scheduleWithFixedDelay(new Runnable(){
@Override
public void run(){
try{
//检查配置信息
checkConfigInfo();
}catch(Throwable e){
LOGGER.error("["+agent.getName()+"][sub-check]rotate check error",e);
}
}
},1L,10L,TimeUnit.MILLISECONDS);
}
}
public void checkConfigInfo(){
//获取注册监听器总数
int listenerSize = cacheMap.get().size();
int longingTaskCount = (int)Math.ceil(listenerSize/paramUtil.getPerTaskConfigSize());
//判断已经运行的任务数量没有超过阈值
if(longingTaskCount > currentLongingTaskCount){
for(int i = (int)currentLongingTaskCount ;i<longingTaskCount;i++){
executorService.execute(new LongPollingRunnable(i));
currentLongingTaskCount = longingTaskCount;
}
}
}
08-18
916
06-25
222
01-10
1万+
03-08
2275
03-03
957