配置禁用元数据中心后,comsumer启动报错,我该怎么配置?
- Dominant language
- Java
- Stars
- 41.6k
- Forks
- 26.4k
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 4
Description
dubbo 3.0.4
nacos 2.0+
```
dubbo:
application:
name: ${server.name}
metadata-type: local
protocol:
port: -1
name: dubbo
registry:
address: nacos://${nacos.server}?registry-type=service
parameters:
namespace: ${nacos.namespace}
use-as-metadata-center: false
use-as-config-center: false
```
provider配置了以下参数,不想在nacos配置中心显示dubbo的配置文件
```
metadata-type: local
use-as-metadata-center: false
use-as-config-center: false
```
comsumer启动的时候报以下错误
```
java.lang.IllegalStateException: the metadata report was not initialized.
at org.apache.dubbo.metadata.report.MetadataReportInstance.checkInit(MetadataReportInstance.java:87) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.metadata.report.MetadataReportInstance.getMetadataReport(MetadataReportInstance.java:76) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.metadata.MetadataServiceNameMapping.getAndListen(MetadataServiceNameMapping.java:107) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.metadata.AbstractServiceNameMapping.getAndListenServices(AbstractServiceNameMapping.java:101) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.doSubscribe(ServiceDiscoveryRegistry.java:213) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistry.subscribe(ServiceDiscoveryRegistry.java:201) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:109) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.DynamicDirectory.subscribe(DynamicDirectory.java:160) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.subscribe(ServiceDiscoveryRegistryDirectory.java:106) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.RegistryProtocol.doCreateInvoker(RegistryProtocol.java:560) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.RegistryProtocol.getServiceDiscoveryInvoker(RegistryProtocol.java:536) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.migration.MigrationInvoker.refreshServiceDiscoveryInvoker(MigrationInvoker.java:424) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.migration.MigrationInvoker.migrateToForceApplicationInvoker(MigrationInvoker.java:201) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.refreshInvoker(MigrationRuleHandler.java:76) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.migration.MigrationRuleHandler.doMigrate(MigrationRuleHandler.java:42) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.client.migration.MigrationRuleListener.onRefer(MigrationRuleListener.java:241) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.RegistryProtocol.interceptInvoker(RegistryProtocol.java:529) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:498) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:483) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:83) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:74) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.rpc.cluster.filter.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:71) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.rpc.protocol.ProtocolSerializationWrapper.refer(ProtocolSerializationWrapper.java:52) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.ReferenceConfig.createInvokerForRemote(ReferenceConfig.java:474) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:379) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:266) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:203) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.utils.SimpleReferenceCache.get(SimpleReferenceCache.java:117) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.lambda$referServices$6(DefaultModuleDeployer.java:326) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.deploy.DefaultModuleDeployer$$Lambda$1002/0x000000006fc20a20.accept(Unknown Source) ~[na:na]
at java.base/java.util.concurrent.ConcurrentHashMap$ValuesView.forEach(ConcurrentHashMap.java:4772) ~[na:na]
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.referServices(DefaultModuleDeployer.java:306) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.deploy.DefaultModuleDeployer.start(DefaultModuleDeployer.java:146) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onContextRefreshedEvent(DubboDeployApplicationListener.java:108) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:98) ~[dubbo-3.0.4.jar:3.0.4]
at org.apache.dubbo.config.spring.context.DubboDeployApplicationListener.onApplicationEvent(DubboDeployApplicationListener.java:44) ~[dubbo-3.0.4.jar:3.0.4]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:404) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:361) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:898) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.__refresh(AbstractApplicationContext.java:554) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.jrLockAndRefresh(AbstractApplicationContext.java:40002) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:41008) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE]
at com.test.demo.DemoApplication.main(DemoApplication.java:21) ~[classes/:an]
```
Contributor guide
Research direction
Reproduce the consumer startup with the shown Dubbo 3.0.4 and Nacos configuration. Start at MetadataReportInstance.checkInit and ServiceDiscoveryRegistry.doSubscribe in the stack trace, then compare the consumer and provider metadata settings. Done means the consumer starts successfully with the metadata center disabled, with the required configuration documented or corrected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100