private static HashSet<String> parseExcludeRouter(List<Router> customRouters) {
        HashSet<String> excludeKeys = new HashSet<String>();
        if (CommonUtils.isNotEmpty(customRouters)) {
            for (Router router : customRouters) {
                if (router instanceof ExcludeRouter) {
                    // 存在需要排除的过滤器
                    ExcludeRouter excludeRouter = (ExcludeRouter) router;
                    String excludeName = excludeRouter.getExcludeName();
                    if (StringUtils.isNotEmpty(excludeName)) {
                        String excludeRouterName = startsWithExcludePrefix(excludeName) ? excludeName.substring(1)
                            : excludeName;
                        if (StringUtils.isNotEmpty(excludeRouterName)) {
                            excludeKeys.add(excludeRouterName);
                        }
                    }
                    customRouters.remove(router);
                }
            }
        }
        if (!excludeKeys.isEmpty()) {
            if (LOGGER.isInfoEnabled()) {
                LOGGER.info("Find exclude routers: {}", excludeKeys);
            }
        }
        return excludeKeys;
    }
@Test
    public void testParseExcludeRouter() throws InvocationTargetException, IllegalAccessException, NoSuchMethodException {
        String methodName = "parseExcludeRouter";

        List<Router> routers = new CopyOnWriteArrayList<>();
        routers.add(new TestChainRouter1());
        routers.add(new TestChainRouter2());
        routers.add(new TestChainRouter3());
        routers.add(new TestChainRouter4());
        routers.add(new ExcludeRouter("-testChainRouter5"));

        Method parseExcludeRouter = RouterChain.class.getDeclaredMethod(methodName, List.class);
        parseExcludeRouter.setAccessible(true);
        Object invokeResult = parseExcludeRouter.invoke(Router.class, routers);
        Set<String> result = new HashSet<>();
        result.add(invokeResult.toString());

        Assert.assertEquals(1, result.size());
        Assert.assertNotNull(invokeResult);
    }