private void groupConfigsSync() {
        Optional<GroupConfigTable> groupConfigTable = readGroupConfig(groupConfigChangeWatcherRegister.keys());
        // Config table would be null if no change detected from the implementation.
        groupConfigTable.ifPresent(config -> {
            config.getGroupItems().forEach(groupConfigItems -> {
                String groupConfigItemName = groupConfigItems.getName();
                WatcherHolder holder = groupConfigChangeWatcherRegister.get(groupConfigItemName);

                if (holder == null) {
                    log.warn(
                        "Config {} from configuration center, doesn't match any WatchType.GROUP watcher, ignore.",
                        groupConfigItemName
                    );
                    return;
                }

                GroupConfigChangeWatcher watcher = (GroupConfigChangeWatcher) holder.getWatcher();
                notifyGroupValues(watcher, groupConfigItems);
            });
            if (log.isTraceEnabled()) {
                log.trace(
                    "Current configurations after the sync." + LINE_SEPARATOR + groupConfigChangeWatcherRegister.toString());
            }
        });
    }
Implement Config Watcher register using a periodic sync task.
oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/FetchingConfigWatcherRegister.java