protected void refreshDomain() {
        Set<String> keySet = new HashSet<>();
        for (Map.Entry<String, List<ConsumerConfig>> entry : notifyListeners.entrySet()) {
            String directUrl = entry.getKey();
            String[] providerStrs = StringUtils.splitWithCommaOrSemicolon(directUrl);
            keySet.addAll(Arrays.asList(providerStrs));
        }

        for (String directUrl : keySet) {
            ProviderInfo providerInfo = convertToProviderInfo(directUrl);
            List<ProviderInfo> result = directUrl2IpUrl(providerInfo, domainCache.get(directUrl));
            domainCache.put(directUrl, result);
        }
    }
@Test
    public void testRefreshDomain() {
        ConsumerConfig<Object> consumerConfig = new ConsumerConfig<>();
        String directUrl1 = "bolt://alipay.com";
        String directUrl2 = "bolt://taobao.com";
        String directUrl = directUrl1 + ";" + directUrl2;
        consumerConfig.setDirectUrl(directUrl);
        domainRegistry.subscribe(consumerConfig);

        assertTrue(domainRegistry.notifyListeners.containsKey(directUrl));
        domainRegistry.refreshDomain();

        assertTrue(domainRegistry.domainCache.containsKey(directUrl1));
        assertTrue(domainRegistry.domainCache.containsKey(directUrl2));
    }