private void registerNacosListener()

in spring-cloud-alibaba-starters/spring-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/refresh/NacosContextRefresher.java [114:153]


	private void registerNacosListener(final String groupKey, final String dataKey) {
		String key = NacosPropertySourceRepository.getMapKey(dataKey, groupKey);
		Listener listener = listenerMap.computeIfAbsent(key,
				lst -> new AbstractSharedListener() {
					@Override
					public void innerReceive(String dataId, String group,
							String configInfo) {

						log.info("[Nacos Config] Receive Nacos config change: dataId={}, group={}", dataKey,
								groupKey);
						refreshCountIncrement();
						nacosRefreshHistory.addRefreshRecord(dataId, group, configInfo);
						NacosSnapshotConfigManager.putConfigSnapshot(dataId, group,
								configInfo);
						NacosConfigRefreshEvent event = new NacosConfigRefreshEvent(this, null, "Refresh Nacos config");
						event.setDataId(dataId);
						event.setGroup(group);
						applicationContext.publishEvent(
								event);
						if (log.isDebugEnabled()) {
							log.debug(String.format(
									"Publish Nacos config Refresh Event group=%s,dataId=%s,configInfo=%s",
									group, dataId, configInfo));
						}
					}
				});
		try {
			if (configService == null && configManager != null) {
				configService = configManager.getConfigService();
			}
			configService.addListener(dataKey, groupKey, listener);
			log.info("[Nacos Config] Listening config: dataId={}, group={}", dataKey,
					groupKey);
		}
		catch (NacosException e) {
			log.warn(String.format(
					"register fail for nacos listener ,dataId=[%s],group=[%s]", dataKey,
					groupKey), e);
		}
	}