zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    hello word
    HDU 1006 Tick and Tick
    HDU 1005 Number Sequence
    HDU 1004 Let the Balloon Rise
    HDU 1003 Max Sum
    HDU 1002 A + B Problem II
    HDU 1001 Sum Problem
    HDU 1000 A + B Problem
    POJ 2253 Frogger
    POJ 2387 Til the Cows Come Home
  • 原文地址:https://www.cnblogs.com/helloIT/p/6883412.html
Copyright © 2011-2022 走看看