在maven项目中使用dubbo和zookpper框架的时候出现下面的这个异常


那么首先你需要去看下你的maven项目中引用的zookpperjar包和服务器上面安装的zookpper的版本是否相同,例如项目的jar包是3.4.6的话那么服务器上面安装的zookpper版本也需要是3.4.6版本


版本没问题的哈那么就需要去看下你的配置文件是否正确配置:

service层的配置文件applicationContext-service.xml的配置(只给出dubbo的相关的配置):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-4.2.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-4.2.xsd
http://code.alibabatech.com/schema/dubbo 
http://code.alibabatech.com/schema/dubbo/dubbo.xsd

http://www.springframework.org/schema/util 
http://www.springframework.org/schema/util/spring-util-4.2.xsd">

<!-- 下面这些是dubbo的配置-->
<!-- 使用dubbo发布服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="taotao-manager" />
<!-- 使用zookeeper注册中心暴露服务地址,即zookeeper的所在服务器ip地址和端口号 根据你的ip设置--> 
<dubbo:registry address="zookeeper://192.168.13.128:2181"/>
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口,这个 -->
<dubbo:service interface="com.taotao.service.ItemService" ref="itemServiceImpl" timeout="300000"/>
</beans>

springmvc中的配置(只给出dubbo的相关的配置):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" 
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
   http://code.alibabatech.com/schema/dubbo 
   http://code.alibabatech.com/schema/dubbo/dubbo.xsd

        http://www.springframework.org/schema/mvc 
        http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-4.2.xsd">

<!--下面是dubbo相关的配置-->
<!-- 引用dubbo服务 -->
<dubbo:application name="taotao-manager-web"/>
<dubbo:registry  address="zookeeper://192.168.13.128:2181"/>
<dubbo:reference interface="com.taotao.service.ItemService" id="itemService" />
</beans>

这两个配置文件没错的的话那么就看下zookpper的配置文件zoo.cfg配置中的端口是否跟上面配置的端口一样:clientPort=2181


都没问题的话那么就需要设置下防火墙了:linux默认的话是拦截端口2181的,所以需要关闭对2181端口的拦截,如下设置:

在linux命令行分别输入命令:

/sbin/iptables -I -INPUT -p tcp --dport 2181 -j ACCEPT

/etc/rc.d/init.d/iptables save


防火墙也设置了也还是出现异常的话那么就只能看下项目的jdk版本是否是1.8了是的话改成1.7的试试

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐