处理SSM+Dubbo+zookeeper的No provider available from registry异常
在使用SSM+Dubbo时偶尔会碰到这个一个异常:这个异常信息的内容大概的意思是指dubbo找不到提供者以下总结了对应的解决方法,应该能基本解决所有类似的问题:1. zookeeper的服务没启动。原因: 有时候以上来就直接启动项目,很容易以忘记启动zookeeper的服务2. 项目里对应的service类上没加dubbo的对应注解@Service,这里切记不要导错包。原因: 有时候会手快导错sp
在使用SSM+Dubbo+zookeeper时偶尔会碰到这个一个异常:
No provider available from registry 192.168.18.54:2181 for service com.dubbo.consumer.service.ProviderHelloService on consumer 192.168.18.54: use dubbo version 2.6.0, may be providers disabled or not registered ?

这个异常信息的内容大概的意思是指dubbo找不到提供者
以下总结了对应的解决方法,应该能基本解决所有类似的问题:
1. zookeeper的服务没启动。
原因: 有时候以上来就直接启动项目,很容易以忘记启动zookeeper的服务
2. 项目里对应的service类上没加dubbo的对应注解@Service,这里切记不要导错包。
原因: 有时候会手快导错spring里的@Service
import com.alibaba.dubbo.config.annotation.Service;
3. 如果你在service上加上了@Transactional注解,则需要给@Service添加参数。
原因: 这个是因为@Transactional里面使用了代理类,最终返回的类名不再是原本的类名,这样会导致消费者通过远程调用却找不到对应的类的异常
@Service(interfaceClass = xxxxx.class)//xxxxx为被远程调用的类
4. 数据访问层的mapper.xml里写错了名称空间或者sql语句写错了(还是语法错误,编译不通过)。
原因: 这个是因为service层需要去调用mapper或者是dao,而那边出现异常导致service出现异常,从而消费者远程调用也找不到对应的类
如果以上都不能解决你的问题,那可能是你的代码有问题。
如果不是,则大概率是编程软件出问题了,重启试试。。。
更多推荐




所有评论(0)