public <T> void unregister(MeshRuleListener subscriber) {
        meshRuleDispatcher.unregister(subscriber);
    }
@Test
    void unregister() {
        MeshAppRuleListener meshAppRuleListener = new MeshAppRuleListener("demo-route");

        StandardMeshRuleRouter standardMeshRuleRouter1 = Mockito.spy(new StandardMeshRuleRouter(URL.valueOf("")));
        StandardMeshRuleRouter standardMeshRuleRouter2 = Mockito.spy(new StandardMeshRuleRouter(URL.valueOf("")));

        meshAppRuleListener.register(standardMeshRuleRouter1);

        Assertions.assertEquals(
                1,
                meshAppRuleListener
                        .getMeshRuleDispatcher()
                        .getListenerMap()
                        .get(MeshRuleConstants.STANDARD_ROUTER_KEY)
                        .size());
        meshAppRuleListener.receiveConfigInfo(rule1 + "---\n" + rule2);
        meshAppRuleListener.register(standardMeshRuleRouter2);
        Assertions.assertEquals(
                2,
                meshAppRuleListener
                        .getMeshRuleDispatcher()
                        .getListenerMap()
                        .get(MeshRuleConstants.STANDARD_ROUTER_KEY)
                        .size());

        meshAppRuleListener.unregister(standardMeshRuleRouter1);
        Assertions.assertEquals(
                1,
                meshAppRuleListener
                        .getMeshRuleDispatcher()
                        .getListenerMap()
                        .get(MeshRuleConstants.STANDARD_ROUTER_KEY)
                        .size());

        meshAppRuleListener.unregister(standardMeshRuleRouter2);
        Assertions.assertEquals(
                0, meshAppRuleListener.getMeshRuleDispatcher().getListenerMap().size());
    }