<!-- If you need to report a security issue please visit https://github.com/apache/dubbo/security/policy -->

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

### Environment

* Dubbo version: 3.0.5
* Operating System version: xxx
* Java version: xxx

### Steps to reproduce this issue

Frequent exceptions in unit testing: 

```
[INFO] [02/11/21 06:31:32:300 UTC] ERROR listener.ServiceInstancesChangedListener:  [DUBBO] Failed to load service metadata, meta type is local, dubbo version: 3.0.5-SNAPSHOT, current host: 172.28.16.1
[INFO] java.lang.IllegalStateException: There's no ApplicationConfig specified.
[INFO] 	at org.apache.dubbo.config.context.ConfigManager.lambda$getApplicationOrElseThrow$0(ConfigManager.java:85)
[INFO] 	at java.util.Optional.orElseThrow(Optional.java:290)
[INFO] 	at org.apache.dubbo.config.context.ConfigManager.getApplicationOrElseThrow(ConfigManager.java:85)
[INFO] 	at org.apache.dubbo.rpc.model.ApplicationModel.getCurrentConfig(ApplicationModel.java:315)
[INFO] 	at org.apache.dubbo.registry.client.metadata.StandardMetadataServiceURLBuilder.generateUrlWithoutMetadata(StandardMetadataServiceURLBuilder.java:112)
[INFO] 	at org.apache.dubbo.registry.client.metadata.StandardMetadataServiceURLBuilder.build(StandardMetadataServiceURLBuilder.java:82)
[INFO] 	at org.apache.dubbo.registry.client.metadata.MetadataUtils.referProxy(MetadataUtils.java:93)
[INFO] 	at org.apache.dubbo.registry.client.metadata.MetadataUtils.lambda$getMetadataServiceProxy$0(MetadataUtils.java:67)
[INFO] 	at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
[INFO] 	at org.apache.dubbo.registry.client.metadata.MetadataUtils.getMetadataServiceProxy(MetadataUtils.java:67)
[INFO] 	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doGetMetadataInfo(ServiceInstancesChangedListener.java:379)
[INFO] 	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.getRemoteMetadata(ServiceInstancesChangedListener.java:330)
[INFO] 	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:143)
[INFO] 	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener$AddressRefreshRetryTask.run(ServiceInstancesChangedListener.java:493)
[INFO] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[INFO] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[INFO] 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
[INFO] 	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
[INFO] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[INFO] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[INFO] 	at java.lang.Thread.run(Thread.java:748)
```

public List<URL> build(ServiceInstance serviceInstance) {
        Map<String, String> paramsMap = getMetadataServiceURLsParams(serviceInstance);
        String serviceName = serviceInstance.getServiceName();
        String host = serviceInstance.getHost();
        URL url;
        if (paramsMap.isEmpty()) {
            
            url = generateUrlWithoutMetadata(serviceName, host, serviceInstance.getPort());
        } else {
            url = generateWithMetadata(serviceName, host, paramsMap);
        }
        url = url.setScopeModel(serviceInstance.getApplicationModel().getInternalModule());
        return Collections.singletonList(url);
    }
    private URL generateWithMetadata(String serviceName, String host, Map<String, String> params) {
        String protocol = params.get(PROTOCOL_KEY);
        int port = Integer.parseInt(params.get(PORT_KEY));
        URLBuilder urlBuilder = new URLBuilder()
                .setHost(host)
                .setPort(port)
                .setProtocol(protocol)
                .setPath(MetadataService.class.getName())
                .addParameter(TIMEOUT_KEY, ConfigurationUtils.get(applicationModel, METADATA_PROXY_TIMEOUT_KEY, DEFAULT_METADATA_TIMEOUT_VALUE))
                .addParameter(SIDE_KEY, CONSUMER);
        
        params.forEach(urlBuilder::addParameter);
        
        urlBuilder.addParameter(GROUP_KEY, serviceName);
        return urlBuilder.build();
    }