public Invoker<?> getInvoker() {
        return invoker;
    }
@Test
    void testListenUnExport() throws NoSuchFieldException, IllegalAccessException {
        URL url = URL.valueOf("remote://1.2.3.4/" + DemoService.class.getName());
        url = url.addParameter(REFER_KEY, URL.encode(PATH_KEY + "=" + DemoService.class.getName()));
        url = url.addParameter(SCOPE_KEY, "local");
        url = url.setScopeModel(ApplicationModel.defaultModel().getDefaultModule());

        URL injvmUrl = URL.valueOf("injvm://127.0.0.1/TestService")
                .addParameter(INTERFACE_KEY, DemoService.class.getName())
                .setScopeModel(ApplicationModel.defaultModel().getDefaultModule());
        Exporter<?> exporter = protocol.export(proxy.getInvoker(new DemoServiceImpl(), DemoService.class, injvmUrl));

        Invoker<DemoService> cluster = getClusterInvoker(url);
        invokers.add(cluster);

        exporter.unexport();

        Assertions.assertTrue(cluster instanceof ScopeClusterInvoker);

        Field injvmInvoker = cluster.getClass().getDeclaredField("injvmInvoker");
        injvmInvoker.setAccessible(true);
        Assertions.assertNull(injvmInvoker.get(cluster));

        Field isExported = cluster.getClass().getDeclaredField("isExported");
        isExported.setAccessible(true);
        Assertions.assertFalse(((AtomicBoolean) isExported.get(cluster)).get());
    }