- [ ] 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
```
List<ProtocolConfig> tmpProtocols = new ArrayList<>();
        Set<String> protocolIds = configManager.getProtocolIds();
        protocolIds.forEach(id -> {
            if (tmpProtocols.stream().noneMatch(prot -> prot.getId().equals(id))) {
                tmpProtocols.add(configManager.getProtocol(id).orElseGet(() -> {
                    ProtocolConfig protocolConfig = new ProtocolConfig();
                    protocolConfig.setId(id);
                    protocolConfig.refresh();
                    return protocolConfig;
                }));
            }
        });
        configManager.addProtocols(tmpProtocols);
    }
    /**
     * Initialize {@link MetadataService} from {@link WritableMetadataService}'s extension
     */
    private void initMetadataService() {
        this.metadataService = getExtension(getMetadataType());
    }
    /**
     * Initialize {@link MetadataServiceExporter}
     */
    private void initMetadataServiceExporter() {
        this.metadataServiceExporter = new ConfigurableMetadataServiceExporter(metadataService);
    }
    /**
     * Initialize {@link EventListener}
     */
    private void initEventListener() {