(name: rest, class: interface org.apache.dubbo.rpc.Protocol) couldn‘t be instantiated: null

报错日志:

2023-03-16 16:23:14.063 ERROR 15300 --- [ncesChangeEvent] .d.r.c.ServiceDiscoveryRegistryDirectory : [DUBBO] Failed to refer invoker for interface:interface com.modules.service.DemoService,url:(DefaultServiceInstance{serviceName='rpc', host='172.0.4.184', port=9001, enabled=true, healthy=true, metadata={preserved.register.source=SPRING_CLOUD}}, service{name='com.modules.service.DemoService',group='null',version='null',protocol='null',port='9001',params={},})Extension instance (name: rest, class: interface org.apache.dubbo.rpc.Protocol) couldn't be instantiated: null, dubbo version: 3.1.7, current host: 172.0.4.184, error code: 4-3. This may be caused by , go to https://dubbo.apache.org/faq/4/3 to find instructions.

java.lang.IllegalStateException: Extension instance (name: rest, class: interface org.apache.dubbo.rpc.Protocol) couldn't be instantiated: null
at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:806) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:561) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.common.extension.ExtensionLoader.getExtension(ExtensionLoader.java:535) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.toInvokers(ServiceDiscoveryRegistryDirectory.java:352) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshInvoker(ServiceDiscoveryRegistryDirectory.java:254) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.refreshOverrideAndInvoker(ServiceDiscoveryRegistryDirectory.java:182) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.ServiceDiscoveryRegistryDirectory.notify(ServiceDiscoveryRegistryDirectory.java:176) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.lambda$notifyAddressChanged$9(ServiceInstancesChangedListener.java:417) [dubbo-3.1.7.jar:3.1.7]
at java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1597) ~[na:1.8.0_331]
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.notifyAddressChanged(ServiceInstancesChangedListener.java:410) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doOnEvent(ServiceInstancesChangedListener.java:217) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:113) [dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.nacos.NacosServiceDiscovery.handleEvent(NacosServiceDiscovery.java:231) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.nacos.NacosServiceDiscovery.access$000(NacosServiceDiscovery.java:64) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.registry.nacos.NacosServiceDiscovery$NacosEventListener.onEvent(NacosServiceDiscovery.java:202) ~[dubbo-3.1.7.jar:3.1.7]
at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:126) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:42) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.common.notify.DefaultPublisher.lambda$notifySubscriber$0(DefaultPublisher.java:199) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.common.notify.DefaultPublisher.notifySubscriber(DefaultPublisher.java:206) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.common.notify.DefaultPublisher.receiveEvent(DefaultPublisher.java:190) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.common.notify.DefaultPublisher.openEventHandler(DefaultPublisher.java:112) ~[nacos-client-2.2.0.jar:na]
at com.alibaba.nacos.common.notify.DefaultPublisher.run(DefaultPublisher.java:95) ~[nacos-client-2.2.0.jar:na]
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_331]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_331]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_331]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_331]
at org.apache.dubbo.common.beans.support.InstantiationStrategy.instantiate(InstantiationStrategy.java:94) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.common.extension.ExtensionLoader.createExtensionInstance(ExtensionLoader.java:811) ~[dubbo-3.1.7.jar:3.1.7]
at org.apache.dubbo.common.extension.ExtensionLoader.createExtension(ExtensionLoader.java:772) ~[dubbo-3.1.7.jar:3.1.7]
... 22 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/ws/rs/ProcessingException
at org.apache.dubbo.rpc.protocol.rest.RestProtocol.(RestProtocol.java:80) ~[dubbo-3.1.7.jar:3.1.7]
... 29 common frames omitted

解决方案:

dubbo 和 Spring Cloud Alibaba 的分组要分开,不要使用同一个分组名,这样会导致错误订阅到 Spring Cloud 的应用,使用了 Rest 协议

dubbo issues地址:https://github.com/apache/dubbo/issues/11852

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
org.apache.dubbo.remoting.RemotingException是一个Dubbo框架提供的远程通信异常类。当在Dubbo服务之间进行远程通信时,如果出现通信中断、连接超时或其他网络相关问题,就会抛出该异常。通常,该异常会提供一些详细的错误信息,以便排查和解决问题。 要解决这个异常,你可以检查以下几个方面: 1. 网络连接是否正常:确保Dubbo服务之间的网络连接正常,并且没有任何阻塞或中断情况。可以通过检查防火墙设置、网络配置等来确认网络连接是否正常。 2. 服务提供者是否可用:确保Dubbo服务提供者正常运行并可访问。可以检查服务提供者的日志和运行状态,以确定是否存在问题。 3. 服务消费者配置是否正确:确认Dubbo服务消费者的配置是否正确,包括注册中心地址、服务接口等信息。可以检查消费者端的配置文件或代码,确保与提供者的配置一致。 4. Dubbo版本兼容性:确保Dubbo版本在服务提供者和消费者之间是兼容的。不同的Dubbo版本可能会有不同的协议和序列化方式,如果版本不兼容可能会导致通信异常。 5. 日志和错误信息:查看Dubbo服务提供者和消费者的日志,检查是否有其他错误信息或异常堆栈,以便更好地定位问题并解决。 以上是一些常见的排查步骤,希望对你解决该异常有所帮助。如果问题仍然存在,请提供更多的错误信息和具体情况,以便更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值