### Environment

* Dubbo version: 3.0

### Steps to reproduce this issue
翻看github构建日志本来是去找GenericServiceTest为啥常常出现java.lang.IllegalStateException: Failed to check the status of the service org.apache.dubbo.config.spring.api.LocalMissClass的线索，相关的线索没找到，却找到了这个
2021-09-04T20:19:48.3933128Z [04/09/21 20:19:47:427 UTC] main  WARN integration.RegistryProtocol:  [DUBBO] unsubscribe listener == null, dubbo version: 3.0.3-SNAPSHOT, current host: 172.17.16.1
2021-09-04T20:19:48.3934495Z java.lang.IllegalArgumentException: unsubscribe listener == null
2021-09-04T20:19:48.3936385Z 	at org.apache.dubbo.registry.support.AbstractRegistry.unsubscribe(AbstractRegistry.java:329)
2021-09-04T20:19:48.3938947Z 	at org.apache.dubbo.registry.support.FailbackRegistry.unsubscribe(FailbackRegistry.java:328)
2021-09-04T20:19:48.3942540Z 	at org.apache.dubbo.registry.ListenerRegistryWrapper.unsubscribe(ListenerRegistryWrapper.java:134)
2021-09-04T20:19:48.3945186Z 	at org.apache.dubbo.registry.integration.RegistryProtocol$ExporterChangeableWrapper.unexport(RegistryProtocol.java:876)
2021-09-04T20:19:48.3948433Z 	at org.apache.dubbo.registry.integration.RegistryProtocol$DestroyableExporter.unexport(RegistryProtocol.java:669)
2021-09-04T20:19:48.3950662Z 	at org.apache.dubbo.config.ServiceConfig.unexport(ServiceConfig.java:187)
2021-09-04T20:19:48.3952706Z 	at org.apache.dubbo.config.bootstrap.DubboBootstrap.lambda$unexportServices$9(DubboBootstrap.java:1487)
2021-09-04T20:19:48.3954404Z 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
2021-09-04T20:19:48.3956255Z 	at org.apache.dubbo.config.bootstrap.DubboBootstrap.unexportServices(DubboBootstrap.java:1484)
2021-09-04T20:19:48.3958714Z 	at org.apache.dubbo.config.bootstrap.DubboBootstrap.destroy(DubboBootstrap.java:1635)
2021-09-04T20:19:48.3960885Z 	at org.apache.dubbo.config.bootstrap.DubboBootstrap.reset(DubboBootstrap.java:239)
2021-09-04T20:19:48.3963018Z 	at org.apache.dubbo.config.bootstrap.DubboBootstrap.reset(DubboBootstrap.java:225)
2021-09-04T20:19:48.3965492Z 	at org.apache.dubbo.config.spring.schema.GenericServiceTest.tearDown(GenericServiceTest.java:67)
并且不止这一个测试类抛这个异常，有十多个测试类都抛这个东西，看了看代码，感觉应该是重复注销导致的，RegistryProtocol注销listener前检查一下是否为null应该就能避免这个异常了。
ApplicationConfig applicationConfig = new ApplicationConfig("TestApp");
        ApplicationModel applicationModel = new ApplicationModel(FrameworkModel.defaultModel());
        applicationModel.getApplicationConfigManager().setApplication(applicationConfig);
        ModuleModel moduleModel = new ModuleModel(applicationModel);
        DemoService demoService = new DemoServiceImpl();
        ServiceConfig<DemoService> serviceConfig = new ServiceConfig<>();
        serviceConfig.setInterface(DemoService.class);
        serviceConfig.setRegistry(new RegistryConfig(zkUrl1));
        serviceConfig.setScopeModel(moduleModel);
        serviceConfig.setRef(demoService);
        serviceConfig.export();
        String basePath = DemoService.class.getProtectionDomain().getCodeSource().getLocation().getFile();
        basePath = java.net.URLDecoder.decode(basePath, "UTF-8");
        TestClassLoader classLoader1 = new TestClassLoader(Thread.currentThread().getContextClassLoader(), basePath);
        TestClassLoader classLoader2 = new TestClassLoader(Thread.currentThread().getContextClassLoader(), basePath);
        Class<?> class1 = classLoader1.loadClass(DemoService.class.getName(), false);
        Class<?> class2 = classLoader2.loadClass(DemoService.class.getName(), false);
        Assertions.assertNotEquals(class1, class2);
        ReferenceConfig<DemoService> referenceConfig1 = new ReferenceConfig<>();
        referenceConfig1.setInterface(class1);
        referenceConfig1.setRegistry(new RegistryConfig(zkUrl1));
        referenceConfig1.setScopeModel(moduleModel);
        referenceConfig1.setScope("remote");
        Object demoService1 = referenceConfig1.get();
        for (Class<?> anInterface : demoService1.getClass().getInterfaces()) {
            Assertions.assertNotEquals(DemoService.class, anInterface);
        }
        Assertions.assertTrue(Arrays.stream(demoService1.getClass().getInterfaces()).anyMatch((clazz) -> clazz.getClassLoader().equals(classLoader1)));
        java.lang.reflect.Method callBean1 = demoService1.getClass().getDeclaredMethod("callInnerClass");
        callBean1.setAccessible(true);