最近公司变更了框架,为了效率和方便,选择使用了dubbo。但是经常在调用接口时出现:dubbo.rpc.RpcException: No provider available from registry 192.168.211.122:2181.....报错。
总结一下遇到的解决方法,供参考
1.最经常的原因 :忘记启动了消费者服务
因为本地没有集成启动文件,往往在调用接口前只启动程序,忘记启动dubbo服务。
启动路径 本地zookeeper安装路径下的 bin/zkServer.cmd,双击即可。
2.最头疼的原因-可能是冲突导致
解决步骤:
1、关掉正在运行的[zookeeper] 服务
2、找到zookeeper 同等级目录下的 data—>version-2
3、删掉version-2
4、重启 服务提供者 和服务消费者
3.最粗心的原因
如果以上还不能解决,不要气馁,还有一个地方可能出错了。
查看一下@Service 和 @Refence的依赖文件
如果是以下路径
import org.springframework.stereotype.Service;
import jdk.nashorn.internal.ir.annotations.Reference;
替换为
import com.alibaba.dubbo.config.annotation.Service;
import com.alibaba.dubbo.config.annotation.Reference;
4最不易察觉原因
实体类忘记了序列化;
public class Feedback implements Serializable{}
暂时本人只遇到了以上原因,遇到了其他原因再和大家分享
网友评论