Dubbo教程
Dubbo远程调用
Dubbo注册中心
Dubbo监控中心
Dubbo负载均衡

Dubbo接口抽取为独立项目

公司或者企业有很多的服务,这些服务有不同的部门,不同的人员管理,维护。例如公司做生活服务类业务的,提供类似 58 同城的业务。其中公共服务部门负责提供天气资讯和影视资讯两个内容。A 小组两个人负责天气资讯;B 小组三个人负责影视资讯。现在需要在公司的网站同时提供两种资讯。你作为网站开发人员需要使用 A 和 B 两个小组不同服务内容。使用 A 组,B 组的两个服务提供者接口。

图一:

公司使用 Dubbo 管理服务,A 组,B 组分别各自服务的接口的 jar 包。比如 A-Weather.jar , B-Movie.jar . 网站的开发人员需要同时维护两个 jar。任何一个有改动,都需要做调整代码。

图二:

现在只要使用公共服务部门提供的一个服务接口 jar 包就可以了。

服务提供者接口定义

A、新建 Java Project 项目:05-ProviderInteface

Java 项目,只定义接口,无需导入 jar。

B、 新建天气信息的数据类 Weatche

重写的 toString()

C、 新建天气服务接

D、新建影视信息的数据类 Movie

重新 toString()

E、 新建影视服务接口

F、 导出包含所有接口的

导出 jar,选择 eclipse 菜单 File ---- >

G、查看导出的 jar 内

服务提供者接口实现

A、新建 web 工程 05-ProviderInterfaceImpl,生成 web.xml

项目结构:

B、 导入 dubbo,spring,服务接口的 jar

C、 新建实现 WeatherService 接口的实现类

D、新建实现 MovieService 接口的实现类

E、 新建 spring 配置文件 dubbo-provider.xml

F、 修改 web.xml,增加 ContextLoaderListener 监听器

服务消费者

A、新建 Java Project:05-ConsumeService

项目结构:

B、 导入 dubbo,spring,服务提供者接口 jar

C、 新建 spring 配置文件 dubbo-consume.xml

D、定义访问服务的测试类