Dobbox
一、向本地仓库导入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的更多相关文章
- 基于DobboX的SOA服务集群搭建
本人第一次发博客,有什么不对的地方希望各位批评指正,我就不把文章copy过来了,直接上有道笔记的链接,希望各位喜欢. 第一部分: 准备工作 第二部分: dubbox的安装和使用 第三部分: RESTf ...
- 框架dubbox的简单使用
之前: RPC: Remote Produedure Call :一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议 SOA: Service-oriented architect ...
- Java 基础命名空间
java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...
- 使用Maven将dubbox安装进资源仓库
dubbox网址:https://github.com/dangdangdotcom/dubbox dobbox版本:https://github.com/dangdangdotcom/dubbox/ ...
- Java--基础命名空间和相关东西(JAVA工程师必须会,不然杀了祭天)
java.lang (提供利用 Java 编程语言进行程序设计的基础类)java.lang.annotation(提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互)java.lang.inst ...
随机推荐
- controller进行数据保存以及作用域
controller进行数据保存以及作用域 一.request域 1.ModelAndView 在ModelAndView中进行存键值对,也可以进行跳转的地址存储,但是返回类型必须是ModelAndV ...
- spring框架学习(三)——AOP( 面向切面编程)
AOP 即 Aspect Oriented Program 面向切面编程 首先,在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 所谓的核心业务,比如登陆,增加数据,删除数据都叫核心业务 ...
- LeetCode第152场周赛(Java)
这算是我第一次正式参加 LeetCode 的周赛吧.通过两道题.意料之中(通过上次模拟可以看出来).总的来说,脑袋还是不太灵光.想的有点慢.全球第一名 0:10:19 就全部通过...感觉我的智商被狠 ...
- 『Go基础』第6节 注释
在上一节中, 我们学会了怎样写一个 Hello Go . 但是, 大家有可能还没有明白为什么那么写, 下面我们通过注释来了解一下. 注释的重要性不再过多赘述, 一段不写注释的代码读起来实在难受. 那么 ...
- jedis参数不当引发的问题总结
jedis参数不当引发dubbo服务线程池耗尽异常 现象:一个dubbo服务偶发性的出现个别机器甚至整个集群大量报线程池耗尽的问题.一开始对问题的处理比较粗暴,直接增加了10倍的线程数.但是问题依然偶 ...
- [洛谷U72177]火星人plus
题目大意:给你一个$1\sim n(n\leqslant 10^5)$的排列,设$a$为它在$1\sim n$的全排列中的排名,求在$1\sim n$的全排列中第$a+m$个排列. 题解:康托展开以及 ...
- HBuilder 方便局域网访问调试
同一个局域网,通过IP不能访问我本地的项目,各种测试发现原来是防火墙的问题: 这里附上参考文档:内置web服务器被防火墙禁用导致预览和运行异常的解决方案
- Xinetd服务的安装与配置详解
1.什么是xinetd xinetd即extended internet daemon,xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器.经常用来管理多种轻量级Interne ...
- fastDFS遇到的并发问题recv cmd: 0 is not correct, expect cmd: 100
这种异常一般发生在 多线程同时使用一个StorageClient操作文件的情况下.有两种解决办法:1.对StorageClient对象加锁,变成单线程2.每次下载或上传文件时,重新new一个Stora ...
- D3.js画思维导图(转)
思维导图的节点具有层级关系和隶属关系,很像枝叶从树干伸展开来的形状.在前面讲解布局的时候,提到有五个布局是由层级布局扩展来的,其中的树状图(tree layout)和集群图(cluster layou ...