If the consul enable acl, current consul dynamic configuration does not support. So it need to support it.

.forEach(configKeys::add);
        }
        return configKeys;
    }
    @Override
    protected void doAddListener(String pathKey, ConfigurationListener listener) {
        logger.info("register listener " + listener.getClass() + " for config with key: " + pathKey);
        ConsulListener watcher = watchers.computeIfAbsent(pathKey, k -> new ConsulListener(pathKey));
        watcher.addListener(listener);
    }
    @Override
    protected void doRemoveListener(String pathKey, ConfigurationListener listener) {
        logger.info("unregister listener " + listener.getClass() + " for config with key: " + pathKey);
        ConsulListener watcher = watchers.get(pathKey);
        if (watcher != null) {
            watcher.removeListener(listener);
        }
    }
    @Override
    protected void doClose() throws Exception {
        client.destroy();
    }
    private class ConsulListener implements KVCache.Listener<String, Value> {
        private KVCache kvCache;
        private Set<ConfigurationListener> listeners = new LinkedHashSet<>();
        private String normalizedKey;
        public ConsulListener(String normalizedKey) {
            this.normalizedKey = normalizedKey;
            initKVCache();
        }