www.ydisp.cn/oss/202207/14/979122c877ff4de792289561be60142173cf01.jpg"alt="picture"title="picture"style="width:640px;能见度:可见;height:217px;"data-type="block">ConfigService是Nacos客户端提供的访问和实现配置中心基本操作的类,我们从ConfigService1的实例化开始,开始长轮询定时机制。客户端的长轮询定时机制,我们从NacosPropertySourceLocator.locate()开始[断点步进]:1.1使用反射机制实例化NacosConfigService对象客户端的长轮询定时任务在NacosFactory.createConfigService()方法中,启动在构建ConfigService对象实例时,继续1.1的源码;进入NacosFactory.createConfigService():publicstaticConfigServicecreateConfigService(Propertiesproperties)throwsNacosException{//【断点步骤】创建ConfigServicereturnConfigFactory.createConfigService(properties);}进入ConfigFactory.createConfigService(),发现它使用了反射机制来实例化NacosConfigService目的;1.2在NacosConfigService的构造方法中,启动长轮询定时任务,进入NacosConfigService.NacosConfigService()构造方法,里面设置了一些比较远程的Task相关的属性;1.2.1初始化HttpAgentMetricsHttpAgent类设计如下:ServerHttpAgent类设计如下:1.2.2初始化ClientWorker进入ClientWorkerker.ClientWorker()的构造方法主要是创建两个定时线程池,启动一个定时任务;进入ClientWorker.checkConfigInfo()每隔10s检查配置是否有变化;cacheMap:是一个AtomicReference