CSDN话题挑战赛第2期
参赛话题:学习笔记
再测试Dubbo消费者调用生产者测试案例时报的错
org.apache.dubbo.remoting.RemotingException: Not found exported service: nacos-business/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0:20880 in [cn.tedu.csmall.stock.service.IStockService:20880, nacos-stock/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0:20880], may be version or group mismatch , channel: consumer: /192.168.64.1:63935 --> provider: /192.168.64.1:20880, message:RpcInvocation [methodName=$invoke, parameterTypes=[class java.lang.String, class [Ljava.lang.String;, class [Ljava.lang.Object;], arguments=[], attachments={input=483, path=com.alibaba.cloud.dubbo.service.DubboMetadataService, remote.application=nacos-wife, dubbo=2.0.2, interface=com.alibaba.cloud.dubbo.service.DubboMetadataService, version=1.0.0, generic=true, group=nacos-business}]
- 检查生产者的service.impl中xxxxxxxxImpl类上是否有@DubboService注解
- 检查生产者的xxxxxxxApplication启动类上是否有@EnableDubbo注解
检查消费者调用生产者的xxxxxxxxServiceImpl(serrvice实现)类种是否有@DubboReference
注解
@DubboReference注解,表示当前业务逻辑层要消费其他模块的服务,可以编写当前Nacos中注册的其他业务模块的逻辑层接口,因为Nacos中注册了业务实现的接口,声明的接口会自动匹配到实现类对象。
@DubboService注解标记的业务逻辑层实现类,其中的所有方法都会注册到Nacos,在其他服务启动"订阅"时,就会"发现"当前类中的所有服务(业务逻辑层方法),并表示允许调用
@EnableDubbo,如果当前项目是Dubbo的生产者,必须在当前项目的SpringBoot启动类上添加
@EnableDubbo这个注解 添加注解后,当前项目的所有服务才能正确发布到Nacos中!