dubbo入门实例-demo
2017-02-22 11:49
381 查看
一、先下载安装注册中心zookeeper
1 下载 zookeeper http://mirrors.hust.edu.cn/apache/zookeeper/ ,下载一个zookeeper-3.5.0-alpha/版本的
解压到相应路径,到目录conf 下创建 zoo.cfg 文件,默认就是加载这个文件,文件内容可直接拷贝 zoo_sample.cfg
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
切换到bin目录 执行 zkServer.cmd 启动 zookeeper
二、创建服务提供者project
1.打开IDEA开发工具,新建maven project,填写groupId,artifactId,version,project_name,填完就创建了一个maven。
2.在pom.xml文件引入所需要的包
3.服务提供者配置文件
applicationProvider.xml
log4j.properties
4.创建服务提供类
接口:
实现类:
5.服务提供测试类
三、创建服务消费者project
1.打开IDEA开发工具,新建maven project,填写groupId,artifactId,version,project_name,填完就创建了一个maven。
2.在pom.xml文件引入所需要的包
3.服务消费者配置文件
applicationConsumer.xml
log4j.properties
4.创建服务消费接口
5.服务消费测试类
四:测试
启动服务工程测试类
再启动调用工程测试类
![](https://img-blog.csdn.net/20170222115158935?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveDIxNDU2Mzc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
1 下载 zookeeper http://mirrors.hust.edu.cn/apache/zookeeper/ ,下载一个zookeeper-3.5.0-alpha/版本的
解压到相应路径,到目录conf 下创建 zoo.cfg 文件,默认就是加载这个文件,文件内容可直接拷贝 zoo_sample.cfg
#zoo.cfg 的内容 # 心跳检查的时间 2秒 tickTime=2000 # 初始化时 连接到服务器端的间隔次数,总时间10*2=20秒 initLimit=10 # ZK Leader 和follower 之间通讯的次数,总时间5*2=10秒 syncLimit=5 # 存储内存中数据库快照的位置,如果不设置参数,更新事务日志将被存储到默认位置。 dataDir=E:\\log\\zk\\tmp\\zookeeper # 错误日志的存放位置 dataLogDir=E:\\log\\zk\\logs\\zookeeper # ZK 服务器端的监听端口 clientPort=21811
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
切换到bin目录 执行 zkServer.cmd 启动 zookeeper
二、创建服务提供者project
1.打开IDEA开发工具,新建maven project,填写groupId,artifactId,version,project_name,填完就创建了一个maven。
2.在pom.xml文件引入所需要的包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xwx</groupId> <artifactId>dubbo-demo-provider</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>dubbo-demo-provider</name> <url>http://maven.apache.org</url> <properties> <!-- version setting --> <spring.version>4.1.9.RELEASE</spring.version> <log4j.version>1.2.17</log4j.version> <dubbo.version>2.8.4</dubbo.version> <zkclient.version>0.1</zkclient.version> <zookeeper.version>3.5.0-alpha</zookeeper.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <!-- Nexus私服--> <repository> <id>jfit-nexus</id> <name>Team Nexus Repository</name> <url>http://www.jfit.com.cn/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> </dependency> <!-- zkclient --> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency> <!-- zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> </dependency> </dependencies> </project>
3.服务提供者配置文件
applicationProvider.xml
<?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:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="hello-world-provider" /> <!-- 使用zookeeper中心暴露服务地址 --> <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.xwx.dubbo.IHelloWordService" ref="demoService" /> <!-- 和本地bean一样实现服务 --> <bean id="demoService" class="com.xwx.dubbo.impl.HelloWordServiceImpl" /> </beans>
log4j.properties
log4j.rootLogger=info, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
4.创建服务提供类
接口:
package com.xwx.dubbo; public interface IHelloWordService { String sayHello(String name); }
实现类:
package com.xwx.dubbo.impl; import com.xwx.dubbo.IHelloWordService; public class HelloWordServiceImpl implements IHelloWordService { public String sayHello(String name) { return "hello :" +name; } }
5.服务提供测试类
package com.xwx.dubbo; import org.springframework.context.support.ClassPathXmlApplicationContext; public class StartProvider { public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationProvider.xml" }); context.start(); System.out.println("按任意键退出"); System.in.read(); } }
三、创建服务消费者project
1.打开IDEA开发工具,新建maven project,填写groupId,artifactId,version,project_name,填完就创建了一个maven。
2.在pom.xml文件引入所需要的包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xwx</groupId> <artifactId>dubbo-demo-consumer</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>dubbo-demo-consumer</name> <url>http://maven.apache.org</url> <properties> <!-- version setting --> <spring.version>4.1.9.RELEASE</spring.version> <log4j.version>1.2.17</log4j.version> <dubbo.version>2.8.4</dubbo.version> <zkclient.version>0.1</zkclient.version> <zookeeper.version>3.5.0-alpha</zookeeper.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <repositories> <!-- Nexus私服--> <repository> <id>jfit-nexus</id> <name>Team Nexus Repository</name> <url>http://www.jfit.com.cn/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <!-- dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> </dependency> <!-- zkclient --> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency> <!-- zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> </dependency> </dependencies> </project>
3.服务消费者配置文件
applicationConsumer.xml
<?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:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> <dubbo:application name="hello-world-consumer" /> <!-- 使用 zookeeper注册中心暴露发现服务地址 --> <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> <dubbo:protocol name="dubbo" port="20880" /> <!-- 生成远程服务代理,可以和本地bean一样使用demoService --> <dubbo:reference id="demoService" interface="com.xwx.dubbo.IHelloWordService" /> </beans>
log4j.properties
log4j.rootLogger=info, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
4.创建服务消费接口
package com.xwx.dubbo; public interface IHelloWordService { String sayHello(String name); }
5.服务消费测试类
package com.xwx.dubbo.impl; import com.xwx.dubbo.IHelloWordService; import org.springframework.context.support.ClassPathXmlApplicationContext; public class StartConsumer { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "applicationConsumer.xml" }); context.start(); IHelloWordService demoServer = (IHelloWordService) context.getBean("demoService"); System.out.println("client:"+demoServer.sayHello("小肖")); } }
四:测试
启动服务工程测试类
再启动调用工程测试类
相关文章推荐
- Dubbo入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo (推荐)
- Dubbo入门及Demo运行实例
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo 入门实例 本地伪集群测试Demo
- Dubbo入门---搭建一个最简单的Demo框架
- dubbo+spring+zookeeper的集成入门实例
- Dubbo入门---搭建一个最简单的Demo框架
- Dubbo入门---搭建一个最简单的Demo框架
- dubbo系列一:dubbo介绍、dubbo架构、dubbo的官网入门使用demo
- Dubbo学习——Dubbo简单入门Demo(二)