SpringMVC与Dubbo、zookeeper的整合案例
2018-03-24 10:33
323 查看
Dubbo--zookeeper的配置安装这里就不说了网上很多,上一篇我转载的也有详情介绍
SpringMVC与Dubbo的整合,这边使用的Maven的管理项目在pom文件中导入jar坐标
一.服务及具体实现实现@Service("dubboServiceImpl")public classDubboServiceImplimplementsDubboService {@OverridepublicString dubboTest() {return"dubbo执行了";}}application-dubbo-provider.xml服务提供方配置<?xml version="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.2.xsd"><!-- 配置包扫描器,扫描所有带@Service注解的类 --><context:component-scanbase-package="com.zhan.*"/><!-- 使用dubbo发布服务 4步--><!-- 提供方应用信息 ,这个相当于起一个名字,我们dubbo管理页面比较清晰是哪个应用暴露出来的 --><dubbo:applicationname="dubbo-provide"/><!-- 在zookeeper注册中心 中注册服务 protocol协议Address:地址 多个地址,用逗号 隔开 --><dubbo:registryprotocol="zookeeper"address="localhst:2181"/><!--<dubbo:registry address="N/A" /> 可以在开发时使用下 --><!-- 用dubbo协议 在20880端口暴露服务 --><dubbo:protocolname="dubbo"port="20882"/><!-- 主机端口 <dubbo:protocol host="127.0.0.1" port="20880"/>--><!-- 声明需要暴露的服务接口 --><dubbo:serviceinterface="com.zhan.service.DubboService"ref="dubboService"/></beans>说明: dubbo:registry 标签一些属性的说明: 1)register是否向此注册中心注册服务,如果设为false,将只订阅,不注册。 2)check注册中心不存在时,是否报错。 3)subscribe是否向此注册中心订阅服务,如果设为false,将只注册,不订阅。 4)timeout注册中心请求超时时间(毫秒)。 5)address可以Zookeeper集群配置,地址可以多个以逗号隔开等。 dubbo:service标签的一些属性说明: 1)interface服务接口的路径 2)ref引用对应的实现类的Bean的ID 3)registry向指定注册中心注册,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A 4)register 默认true ,该协议的服务是否注册到注册中心。
二.消费方也要在pom 导入上面的那些jar坐标@Controllerpublic classDubboController {@AutowiredprivateDubboServicedubboService;@RequestMapping("aa")public void dubboTest(){String s =dubboService.dubboTest();System.out.print(s);}}application-dubbo-consumer.xml服务消费方配置<?xml version="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.2.xsd"> <!-- 应用dubbo服务 --><!-- 消费方应用名, 不要和提供方同名,用于计算依赖关系 --><dubbo:applicationname="zhan-consumer"/><!-- 使用zookeeper注册服务中心 发现暴露服务地址--><dubbo:registryprotocol="zookeeper"address="localhst:2181"/><!-- <dubbo:registry address="N/A" /> --><!-- 调用暴露接口:生成远程代理服务对象 和 本地 bean一样 --><dubbo:referenceinterface="com.zhan.service.DubboService"id="dubboService"/><!-- 使用debug调试 会连接超时 check='false' 启动时不校验服务提供方 --><dubbo:consumertimeout="600000"check="false"/></beans>说明: dubbo:reference 的一些属性的说明: 1)interface调用的服务接口 2)check 启动时检查提供者是否存在,true报错,false忽略 3)registry 从指定注册中心注册获取服务列表,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔 4)loadbalance 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
SpringMVC与Dubbo的整合,这边使用的Maven的管理项目在pom文件中导入jar坐标
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.7</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>com.zgs</groupId> <artifactId>zhan-service-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> |
二.消费方也要在pom 导入上面的那些jar坐标@Controllerpublic classDubboController {@AutowiredprivateDubboServicedubboService;@RequestMapping("aa")public void dubboTest(){String s =dubboService.dubboTest();System.out.print(s);}}application-dubbo-consumer.xml服务消费方配置<?xml version="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.2.xsdhttp://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-4.2.xsd"> <!-- 应用dubbo服务 --><!-- 消费方应用名, 不要和提供方同名,用于计算依赖关系 --><dubbo:applicationname="zhan-consumer"/><!-- 使用zookeeper注册服务中心 发现暴露服务地址--><dubbo:registryprotocol="zookeeper"address="localhst:2181"/><!-- <dubbo:registry address="N/A" /> --><!-- 调用暴露接口:生成远程代理服务对象 和 本地 bean一样 --><dubbo:referenceinterface="com.zhan.service.DubboService"id="dubboService"/><!-- 使用debug调试 会连接超时 check='false' 启动时不校验服务提供方 --><dubbo:consumertimeout="600000"check="false"/></beans>说明: dubbo:reference 的一些属性的说明: 1)interface调用的服务接口 2)check 启动时检查提供者是否存在,true报错,false忽略 3)registry 从指定注册中心注册获取服务列表,在多个注册中心时使用,值为<dubbo:registry>的id属性,多个注册中心ID用逗号分隔 4)loadbalance 负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用
相关文章推荐
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- springMVC整合dubbo+zookeeper
- 【Dubbo&&Zookeeper】1、Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 分布式:Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC mybatis整合和使用(负载均衡、容错) 实例
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)