目录
一、spring+dubbo案例整合
项目github地址:https://github.com/liushangzaibeijing/dubbodemo.git
1、项目结构如下
该项目是一个父子依赖的多模块maven项目
- dubboolddemo(root) 父项目: 主要用于设置子项目通用maven依赖(统一控制通用依赖的版本信息,紫烈不需要声明)
- dubbo-api (child) 子项目: 主要是通用项目依赖(比如接口,实体,枚举,常量)
- dubbo-core (child) 子项目:dubbo接口的服务提供方(服务提供者)
- dubbo-oms (child) 子项目:dubbo接口的服务调用放(服务消费者)
2、dubbo服务/消费配置
- dubbo服务提供者配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 具体的实现bean -->
<bean id="demoService" class="com.xiu.dubbo.service.impl.DemoServiceImpl" />
<!-- dubbo相关配置 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubbo-core" />
<!-- 使用zookeeper注册中心暴露服务地址,多个地址中间用,号隔开 ?backup=192.168.137.131:2181,192.168.137.132:2181 -->
<dubbo:registry address="zookeeper://182.92.189.235:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20881" />
<!-- 声明需要暴露的服务接口 -->
<!--<dubbo:service timeout="3000" interface="com.xiu.dubbo.service.DemoService" ref="demoService"-->
<!--cluster="failover" />-->
<!-- 也可以使用注解的形式进行处理 使用注解的方式需要对服务提供者使用
@Service(dubbo自己的注解而非Spring) 服务使用者使用@Reference注解修饰 -->
<dubbo:annotation package="com.xiu.dubbo.service" />
</beans>
- dubbo服务消费者配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubbo-oms" />
<!-- 使用zookeeper注册中心暴露服务地址,多个地址中间用,号隔开 ?backup=192.168.137.131:2181,192.168.137.132:2181 -->
<dubbo:registry address="zooke