### Environment

* Dubbo version: 3.2.0
* Operating System version: macos10.15.7
* Java version: 1.8

### Steps to reproduce this issue

使用各种方式导致Module启动失败。

### Expected Behavior

Module启动失败，不暴露MetadataService。

即不执行DefaultApplicationDeployer#prepareApplicationInstance。

### Actual Behavior

由于org.apache.dubbo.config.deploy.DefaultModuleDeployer#onModuleFailed传入错误的状态STARTED，导致执行DefaultApplicationDeployer#prepareApplicationInstance。

```java
private void onModuleFailed(String msg, Throwable ex) {
    try {
        setFailed(ex);
        logger.error(CONFIG_FAILED_START_MODEL, "", "", "Model start failed: " + msg, ex);
        applicationDeployer.notifyModuleChanged(moduleModel, DeployState.STARTED);
    } finally {
        completeStartFuture(false);
    }
}
```


});
            asyncReferringFutures.clear();
            referenceCache.destroyAll();
        } catch (Exception ) {
        }
    }
    private void waitExportFinish() {
        try {
            logger.info(getIdentifier() + " waiting services exporting ...");
            exportFuture = CompletableFuture.allOf(asyncExportingFutures.toArray(new CompletableFuture[0]));
            exportFuture.get();
        } catch (Throwable e) {
            logger.warn(CONFIG_FAILED_EXPORT_SERVICE, "", "", getIdentifier() + "  occurred an exception: " + e.toString());
        } finally {
            logger.info(getIdentifier() + "  finished.");
            asyncExportingFutures.clear();
        }
    }
    private void waitReferFinish() {
        try {
            logger.info(getIdentifier() + " waiting services referring ...");
            referFuture = CompletableFuture.allOf(asyncReferringFutures.toArray(new CompletableFuture[0]));
            referFuture.get();
        } catch (Throwable e) {
            logger.warn(CONFIG_FAILED_REFER_SERVICE, "", "", getIdentifier() + "  occurred an exception: " + e.toString());
        } finally {
            logger.info(getIdentifier() + "  finished.");
            asyncReferringFutures.clear();
        }
    }