一、向本地仓库导入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. controller进行数据保存以及作用域

    controller进行数据保存以及作用域 一.request域 1.ModelAndView 在ModelAndView中进行存键值对,也可以进行跳转的地址存储,但是返回类型必须是ModelAndV ...

  2. spring框架学习(三)——AOP( 面向切面编程)

    AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...

  3. LeetCode第152场周赛(Java)

    这算是我第一次正式参加 LeetCode 的周赛吧.通过两道题.意料之中(通过上次模拟可以看出来).总的来说,脑袋还是不太灵光.想的有点慢.全球第一名 0:10:19 就全部通过...感觉我的智商被狠 ...

  4. 『Go基础』第6节 注释

    在上一节中, 我们学会了怎样写一个 Hello Go . 但是, 大家有可能还没有明白为什么那么写, 下面我们通过注释来了解一下. 注释的重要性不再过多赘述, 一段不写注释的代码读起来实在难受. 那么 ...

  5. jedis参数不当引发的问题总结

    jedis参数不当引发dubbo服务线程池耗尽异常 现象:一个dubbo服务偶发性的出现个别机器甚至整个集群大量报线程池耗尽的问题.一开始对问题的处理比较粗暴,直接增加了10倍的线程数.但是问题依然偶 ...

  6. [洛谷U72177]火星人plus

    题目大意:给你一个$1\sim n(n\leqslant 10^5)$的排列,设$a$为它在$1\sim n$的全排列中的排名,求在$1\sim n$的全排列中第$a+m$个排列. 题解:康托展开以及 ...

  7. HBuilder 方便局域网访问调试

    同一个局域网,通过IP不能访问我本地的项目,各种测试发现原来是防火墙的问题: 这里附上参考文档:内置web服务器被防火墙禁用导致预览和运行异常的解决方案

  8. Xinetd服务的安装与配置详解

    1.什么是xinetd xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器.经常用来管理多种轻量级Interne ...

  9. fastDFS遇到的并发问题recv cmd: 0 is not correct, expect cmd: 100

    这种异常一般发生在 多线程同时使用一个StorageClient操作文件的情况下.有两种解决办法:1.对StorageClient对象加锁,变成单线程2.每次下载或上传文件时,重新new一个Stora ...

  10. D3.js画思维导图(转)

    思维导图的节点具有层级关系和隶属关系,很像枝叶从树干伸展开来的形状.在前面讲解布局的时候,提到有五个布局是由层级布局扩展来的,其中的树状图(tree layout)和集群图(cluster layou ...