dubbox系列【三】——简单的dubbox提供者+消费者示例

1.dubbox-provider示例

在eclipse中建立maven project,名为provider-parent,包含两个maven medule:provider-api 和 provider。

项目源码已经上传至码云:http://git.oschina.net/yeyouluo/dubbox-demo-provider

使用mvn install命令编译provider-api,最终在本地maven仓库中会生成对应的provider-api-0.0.1-SNAPSHOT.jar。如果在实际生产环境中,还应该上传到私服或中央仓库中,便于消费者使用(暴露的服务在此jar中)。

运行Provider.java,执行main方法:

 1 package com.yeyouluo.dubbox.provider.test;
 2 
 3 import java.io.IOException;
 4 
 5 import org.springframework.context.support.ClassPathXmlApplicationContext;
 6 
 7 public class Provider {
 8 
 9     public static void main(String[] args) throws IOException {
10         // TODO Auto-generated method stub
11         ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("dubbox-provider.xml");
12         ac.start();
13         
14         // 为保证服务一直开着,利用输入流的阻塞来模拟 
15         System.in.read();
16     }
17 
18 }
Provider.java

启动后,admin中出现提供者实例:

2.dubbox-consumer示例

consumer实例比较简单,配置好<dubbo:consumer>标签,就可以像调用本地服务一样调用远程服务。

项目源码已经上传至码云:http://git.oschina.net/yeyouluo/dubbox-demo-consumer。

运行Consumer.java,执行main方法:

 1 package com.yeyouluo.dubbox.consumer.test;
 2 
 3 import java.io.IOException;
 4 import java.util.List;
 5 
 6 import org.springframework.context.support.ClassPathXmlApplicationContext;
 7 
 8 import com.yeyouluo.dubbox.provider.inter.IDemoService;
 9 import com.yeyouluo.dubbox.provider.pojo.User;
10 
11 public class Consumer {
12 
13     public static void main(String[] args) throws IOException {
14         ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("dubbox-consumer.xml");
15         ac.start();
16         
17         IDemoService demoService = (IDemoService)ac.getBean("demoService");
18         String res = demoService.sayHello("yeyouluo");
19         System.out.println(res);
20         List<User> users = demoService.getUsers();
21         for( User u : users ){
22             System.out.println(u.toString());
23         }
24         
25         System.in.read();
26     }
27 
28 }
Consumer.java

控制台输出如下:

admin中出现消费者实例:

3.附:使用ZooInspector可视化zk内容

ZooInspector下载地址:

  链接: https://pan.baidu.com/s/1c2KQDpQ 密码: uxpa

 

posted @ 2017-05-20 22:43  叶莜落  阅读(442)  评论(0编辑  收藏  举报