- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [ ] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.4.1
* Java version: 1.8

### Actual Result

[https://github.com/apache/dubbo/blob/839d2a604e629ea9e96b964be09ae221e85312ba/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java#L80](https://github.com/apache/dubbo/blob/839d2a604e629ea9e96b964be09ae221e85312ba/dubbo-common/src/main/java/org/apache/dubbo/rpc/model/ApplicationModel.java#L80)

### Expected Result

```
initFrameworkExts
```
destroyServiceDiscoveries();
            clear();
            shutdown();
            release();
        }
    }
    private void destroyProtocols() {
        configManager.getProtocols().forEach(protocolConfig -> {
            ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(protocolConfig.getName()).destroy();
        });
        if (logger.isDebugEnabled()) {
            logger.debug(NAME + "'s all ProtocolConfigs have been destroyed.");
        }
    }
    private void destroyRegistries() {
        AbstractRegistryFactory.destroyAll();
    }
    private void destroyServiceDiscoveries() {
        getServiceDiscoveries().forEach(serviceDiscovery -> {
            execute(() -> {
                serviceDiscovery.destroy();
            });
        });
        if (logger.isDebugEnabled()) {
            logger.debug(NAME + "'s all ServiceDiscoveries have been destroyed.");
        }
    }
    private void clear() {
        clearConfigs();
        clearApplicationModel();