Dubbo学习-4-dubbo简单案例-1
模拟一个需求,通过dubbo实现RPC调用:
这里用户服务模块的查询用户地址的功能,就是一个服务提供者,而订单服务模块的创建订单模块就是一个服务消费者;
1. 创建服务提供者的maven工程:user-service-provider
创建一个UserService接口及接口的实现类
2.创建服务消费者的maven工程:order-service-consumer
order-service里面创建一个OrderService接口及其实现,实现类中,调用UserService提供的服务。那么问题来了,这个仅仅是示例工程,真实的工程中,不止一个工程会调用UserService接口,要使用UserService的接口中的方法, 必须把接口和相关javaBean也得加到使用到的工程中,这样一来就有很多重复代码,这时,就需要把公共的接口和java Bean都提取到一个公共的maven工程中,因此,将UserService接口及其使用到的javaBean UserAddress类和OrderService接口全部放到一个新的maven工程中,
dubbo官网的服务化最佳实践中也推荐分包:
3.创建公共接口的maven工程
创建过程同上,Artifact Id 设置为test-interface;将UserService接口及其使用到的javaBean UserAddress类和OrderService接口全部放到这个maven工程中,原来工程中的对应接口文件和Bean进行删除,同时,user-service-provider工程和order-service-consumer工程都需要引入test-interface工程的依赖:
这时,三个工程的结构如下:OrderService接口和UserService接口的定义以及javaBean的定义都放在了test-interface工程中,user-service-provider工程和order-service-consumer工程里面只写接口的实现。
此时,在OrderService中的实现类里面,调用userService的方法,是报错的,因为此时只有通过远程过程调用才能使用userService接口的实现类的方法。
最新文章
- 使用Delphi收发GMail的邮件
- Java中的自增问题(i=i++)
- POJ2186
- tomcat配置SSL证书(使用startSSL申请到的证书)
- R语言书籍的学习路线图
- 一步一步理解Paxos算法
- shp地图解析(不用AE)
- jQuery基础学习2——DOM和jQuery对象
- gulp 前端自动化工具
- MyEclipse 8.0注冊码+原版下载_Java开发软件
- py函数递归
- JAVA日常练习—程序输入string转化为int并求和
- B507实验室打印机连接方法
- 机器学习之分类问题实战(基于UCI Bank Marketing Dataset)
- iOS 超大高清图展示策略 TileLayer 及 levelsOfDetailBias 分析
- 算法-java代码实现堆排序
- Caused by: java.lang.ClassNotFoundException: ognl.PropertyAccessor
- visual studio开启多核编译方法《转》
- 【SPOJ】Power Modulo Inverted(拓展BSGS)
- 也谈同步异步I/O
热门文章
- C# winform 键盘全局事件
- 杂项-站点:SharePoint
- VMware 虚拟化编程(8) — 多线程中的 VixDiskLib
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲
- node+express POST请求
- linux下mysql 5.7编写存储过程一直报错说Mysql server version for the right syntax
- hacker101教学笔记--introduction--the web in depth
- C#后台保存Cookie
- 洛谷P1095守望者的逃离题解-伪动态规划/贪心
- Codeforces 1047C (线性筛+因数分解)