@Override
    public void init(final RegisterConfig config) {
        final Properties props = config.getProps();
        this.checkTtl = props.getProperty("checkTtl", "5");
        this.token = props.getProperty("token", "");
        this.waitTime = props.getProperty("waitTime", "30");
        this.watchDelay = props.getProperty("watchDelay", "5");
        this.tags = props.getProperty("tags");

        final String serverList = config.getServerLists();
        if (StringUtils.isBlank(serverList)) {
            throw new ShenyuException("shenyu.register.serverLists can not be null.");
        }
        final String[] addresses = serverList.split(":");
        if (addresses.length != 2) {
            throw new ShenyuException("shenyu.register.serverLists formatter is not incorrect.");
        }
        consulClient = new ConsulClient(addresses[0], Integer.parseInt(addresses[1]));
        this.ttlScheduler = new TtlScheduler(Integer.parseInt(checkTtl), consulClient);
        Runtime.getRuntime().addShutdownHook(new Thread(this::close));
    }
The type Consul instance register repository.
shenyu-registry/shenyu-registry-consul/src/main/java/org/apache/shenyu/registry/consul/ConsulInstanceRegisterRepository.java