1、搭建zookeeper(win7环境)
请参考window7环境下ZooKeeper的安装及运行 单机搭建很简单。
2、创建SpringMVC工程,实现provider
(1)pom中添加依赖如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
2、在dubbo-provider.xml中暴露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:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="provider-of-itmp-service" />
<!-- 使用multicast广播注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="${zookeeper.addresses}" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="${dubbo.port}" />
<dubbo:provider timeout="${zookeeper.timeout}" filter="-exception" />
<dubbo:service interface="my.demo.service.demo.test1" ref="test1" />
<dubbo:service interface="my.demo.service.demo.test2" ref="test2" />
一般本地启动zookeeper的话上面代码中的配置为:
zookeeper.addresses=localhost:2181
dubbo.port=20880
3、配置dubbo-consumer.xml,向zookeeper注册接口
<?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:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- enable autowire 向容器自动注册 -->
<context:annotation-config />
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="consumer-of-itmp-service" />
<!-- 使用multicast广播注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="${zookeeper.addresses}" />
<dubbo:consumer cluster="failsafe" />
<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference interface="my.demo.service.demo.test1" id="test1" />
<dubbo:reference interface="my.demo.service.demo.test2" id="test2" />
4、本地启动zookeeper并在Eclipse中查看
运行方法见步骤1.
Eclipse中查看方法:
从windows——>show view中打开zookeeper窗口
找不到的话安装插件 “Plug-in for ZooKeeper 3.2.2”
5、Eclipse中启动provider
provider工程右键——>Run as——>Run Configurations——>Java Application
创建成功后,右下角的Run变为可用,点击即可运行。
provider服务运行成功后,在zookeeper窗口中可以看到dubbo服务的provider:
6、Eclipse中启动consumer
consumer为web服务,所以直接在Eclipse中新建Tomcat,启动Tomcat成功后,zookeeper窗口的dubbo服务会出现consumer:
以上。
参考:
https://blog.csdn.net/antgan/article/details/54377043
http://www.cnblogs.com/RainAndWind/p/4668427.html
https://www.cnblogs.com/geekdc/p/9091040.html