模拟一个需求,通过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接口的实现类的方法。

最新文章

  1. 使用Delphi收发GMail的邮件
  2. Java中的自增问题(i=i++)
  3. POJ2186
  4. tomcat配置SSL证书(使用startSSL申请到的证书)
  5. R语言书籍的学习路线图
  6. 一步一步理解Paxos算法
  7. shp地图解析(不用AE)
  8. jQuery基础学习2——DOM和jQuery对象
  9. gulp 前端自动化工具
  10. MyEclipse 8.0注冊码+原版下载_Java开发软件
  11. py函数递归
  12. JAVA日常练习—程序输入string转化为int并求和
  13. B507实验室打印机连接方法
  14. 机器学习之分类问题实战(基于UCI Bank Marketing Dataset)
  15. iOS 超大高清图展示策略 TileLayer 及 levelsOfDetailBias 分析
  16. 算法-java代码实现堆排序
  17. Caused by: java.lang.ClassNotFoundException: ognl.PropertyAccessor
  18. visual studio开启多核编译方法《转》
  19. 【SPOJ】Power Modulo Inverted(拓展BSGS)
  20. 也谈同步异步I/O

热门文章

  1. C# winform 键盘全局事件
  2. 杂项-站点:SharePoint
  3. VMware 虚拟化编程(8) — 多线程中的 VixDiskLib
  4. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲
  5. node+express POST请求
  6. linux下mysql 5.7编写存储过程一直报错说Mysql server version for the right syntax
  7. hacker101教学笔记--introduction--the web in depth
  8. C#后台保存Cookie
  9. 洛谷P1095守望者的逃离题解-伪动态规划/贪心
  10. Codeforces 1047C (线性筛+因数分解)