public static void initMatchKeys(RouterConfiguration configuration) {
        MATCH_KEYS.clear();
        if (!RouterConfiguration.isInValid(configuration, RouterConstant.FLOW_MATCH_KIND)) {
            Map<String, List<Rule>> routeRules = configuration.getRouteRule().get(RouterConstant.FLOW_MATCH_KIND);
            if (!CollectionUtils.isEmpty(routeRules)) {
                for (List<Rule> rules : routeRules.values()) {
                    addKeys(rules);
                }
            }
            List<Rule> globalRules = configuration.getGlobalRule().get(RouterConstant.FLOW_MATCH_KIND);
            if (!CollectionUtils.isEmpty(globalRules)) {
                addKeys(globalRules);
            }
        }
    }
@Test
    public void testInitMatchKeys() {
        RouterConfiguration configuration = new RouterConfiguration();
        RuleUtils.initMatchKeys(configuration);
        Assert.assertTrue(RuleUtils.getMatchKeys().isEmpty());
        Map<String, List<EntireRule>> map = new HashMap<>();
        EntireRule entireRule = new EntireRule();
        entireRule.setRules(list);
        entireRule.setKind(RouterConstant.FLOW_MATCH_KIND);
        map.put("test", Collections.singletonList(entireRule));
        configuration.resetRouteRule(map);
        RuleUtils.initMatchKeys(configuration);
        Set<String> keys = RuleUtils.getMatchKeys();
        Assert.assertEquals(3, keys.size());
    }