一、向本地仓库导入Dubbox依赖

1.1解压压缩包

1.2打开cmd窗口切到源码包路径

1.3输入命令行

1.4成功后展示如图

1.5输入命令行

1.6成功后如图

public class DoSomeServiceImpl implements DoSomeService {
    @Override
    public String doSome(String userName) {
        System.out.println("dubbo  发布的DoSomeService服务   dosome方法\t"+userName);
        return "dubbox";
    }
}

二、Dubbox案例

2.创建生产者项目dubbo_provider

2.1创建service层接口

@Path("/doSomeService")
public interface DoSomeService {
    @Path("/dosome/{userName}")
    @GET
    @Consumes({MediaType.APPLICATION_JSON})
    public String doSome(@PathParam("userName") String userName);

2.2创建service接口实现类

public class DoSomeServiceImpl implements DoSomeService {
    @Override
    public String doSome(String userName) {
        System.out.println("dubbo  发布的DoSomeService服务   dosome方法\t"+userName);
        return "dubbox";
    }
}

2.3创建applicationContext-provider.xml文件将项目 发送到注册中心

<!--声明服务提供方-->
    <dubbo:application name="dubbox-provider"/>
    <!--注册中心地址-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    <!--dubbo服务端口-->
    <dubbo:protocol name="rest" port="8081"/>

    <!--服务注册-->
    <dubbo:service interface="com.dubbo.service.DoSomeService" ref="doSomeService"/>
    <bean id="doSomeService" class="com.dubbo.service.impl.DoSome

2.4test测试类

    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext-provider.xml");
        System.out.println("dubbox服务已发布");

        //阻塞
        System.in.read();
    }

2.5控制台

3.创建消费者项目dubbo_consumer

3.1创建service层接口

@Path("/doSomeService")
public interface DoSomeService {
    @Path("/dosome/{userName}")
    @GET
    @Consumes({MediaType.APPLICATION_JSON})
    public String doSome(@PathParam("userName") String userName);
}

3.2创建applicationContext-consumer.xml文件将项目发送到注册中心

  <!--声明服务提供方-->
    <dubbo:application name="dubbox-consumer"/>
    <!--注册中心地址-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>

    <!--服务消费-->
    <dubbo:reference interface="com.dubbo.service.DoSomeService" id="doSomeService"/>

3.3test测试类

public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext-consumer.xml");
        DoSomeService doSomeService=(DoSomeService) ctx.getBean("doSomeService");
        doSomeService.doSome("张三");
    }

3.4运行结果

Dobbox的更多相关文章

  1. 基于DobboX的SOA服务集群搭建

    本人第一次发博客,有什么不对的地方希望各位批评指正,我就不把文章copy过来了,直接上有道笔记的链接,希望各位喜欢. 第一部分: 准备工作 第二部分: dubbox的安装和使用 第三部分: RESTf ...

  2. 框架dubbox的简单使用

    之前: RPC: Remote Produedure Call :一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 SOA: Service-oriented architect ...

  3. Java 基础命名空间

    java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...

  4. 使用Maven将dubbox安装进资源仓库

    dubbox网址:https://github.com/dangdangdotcom/dubbox dobbox版本:https://github.com/dangdangdotcom/dubbox/ ...

  5. Java--基础命名空间和相关东西(JAVA工程师必须会,不然杀了祭天)

    java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...

随机推荐

  1. Qt 5.12 LTS 部署

    1. 拷贝release生成的exe到一个独立的目录deploy 2. windeployqt.exe A_Toolkit.exe 3. 将qt\qt5.12.5\tool\mingw730_64\b ...

  2. python学习-66 面向对象3 - 多态

    多态 1.什么是多态 由不同的类实例化得到的对象,调用同一个方法,执行的逻辑不同. 举例: class H2O: def __init__(self,type,tem): self.type = ty ...

  3. ASP.NET MVC请求参数字符串之区分空与NULL

    开发中经常会写增删改查的功能,这里记录下在更新操作时遇到的一个问题. 假设一个模型对应数据库中某一张表,在更新时便需要区分是一次性更新全部字段还是仅更新部分字段.希望能做到传递某个参数时便更新,未传递 ...

  4. 数据结构与算法(Python)

    数据结构与算法(Python) Why? 我们举一个可能不太恰当的例子: 如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器. 那么数据结构和算法是什么?答曰 ...

  5. flink ETL数据处理

    Flink ETL 实现数据清洗   一:需求(针对算法产生的日志数据进行清洗拆分) 1. 算法产生的日志数据是嵌套json格式,需要拆分 2.针对算法中的国家字段进行大区转换 3.最后把不同类型的日 ...

  6. Java设计模式之委派模式(Dellegate/Dispather)

    概述: 委派模式有点像代理模式又有点像策略模式. 区别在于代理模式注重过程,委派模式注重结果. 生活中也有很多委派模式的例子:例如公司老板给项目经理下达任务,将任务全权交给项目经理,有项目经理根据一定 ...

  7. [C#] 生成中文电子通讯录

    var template = @" BEGIN:VCARD VERSION:2.1 N;CHARSET=gb2312:;{0};;; FN;CHARSET=gb2312:{0} TEL;CE ...

  8. Qt 子线程更新Ui

    最近做练习,写一个Qt版的飞机大战,需要用子线程更新UI,发现Qt子线程不能更新Ui,否则程序会崩溃.在网上百度了下,说是需要在子线程自定义信号,然后在线程回调的run()函数里发射信号,主线程连接信 ...

  9. UCOSIII内嵌信号量

    不仅能够简化代码,而且比使用独立的信号量更有效 API函数 //等待-1 OS_SEM_CTR OSTaskSemPend (OS_TICK timeout, OS_OPT opt, CPU_TS * ...

  10. java web编程 servlet2

    一般在开发的过程中主要用一个doGet和doPost方法, http就是超文本传输协议,这是java API对servlet的描述 : 一般我们调用的方法细则如下 : service一分为二reque ...