dubbo調用時報錯的踩坑記錄


前言:

公司采用dubbo框架作為遠程服務調用實現方案,為方便測試,寫了個工程,直接調dubbo接口進行測試。遇到了一系列奇怪的問題,故記錄於此。

Q:No provider available for the service com.netease.wyxd.xiezhi.client.open.provider.DetectProvider from registry 10.165.124.69:2181 on the consumer 192.168.233.1 using the dubbo version 2.8.4. Please check if the providers have been started and registered.

A:提示我這個ip地址無法調用到服務提供者,先看下dubbo admin上是否存在,確認無問題。哦有個地方,就是服務注冊在zk上 默認采用的是機房網絡地址(這里機器有私網地址、機房地址、公網地址,機房網絡地址主要是為了服務器之間的通信,本地服務調服務器一般是用私網或者公網),由於服務在admin上暴露出來的地址是機房網絡地址,所以需要在環境變量上加個配置 -Ddubbo.protocol.host=10.165.124.89  或者在dubbo.properties里面加

我這里的問題比較奇怪 這個消費者的ip並不是我的本機ip 所以我清了一把網絡 好了 我的公網地址應該是10.242.111.206 這個才是我正常的ip

 

Q: java.lang.IllegalStateException: Unsupported protocol hessian in notified url

A: 這個查了好久 網上沒幾個 后來我自己試了 是因為hession.jar包沒有加 ==  ORZ...

 

總結一下,主要要加的依賴包有hession.jar 、 dubbo.jar、 zkClient.jar  

順便寫下用到的pom

<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>4.0.38</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5-pre8</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>com.netease.wyxd.xiezhi</groupId>
<artifactId>client</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.8.4</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-logging-juli</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- <dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
</dependency> -->
<dependency>
<groupId>com.github.commons</groupId>
<artifactId>commons-dubbo-client</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM