zookeeper,dubbo,spring整合
来源:互联网 发布:淘宝卖家复制宝贝 编辑:程序博客网 时间:2024/05/17 01:21
dubbo框架是国内很优秀的一个分布式远程调用服务的框架,一般情况下dubbo都与zookeeper配合使用(zookeeper作为dubbo中RPC服务的注册中心,在官方文档中也明确建议使用zookeeper)。本文通过代码介绍下dubbo,zookeeper,spring的整合。
编写服务提供者代码
maven引入spring,dubbo和zookeeper相关包,这里需要注意的是在引入dubbo包的时候,要用<exclusion>标签排除com.alibaba.dubbo包中带有的spring包,不然在部署时会造成包冲突,报出java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments异常。
<properties><spring.version>3.2.9.RELEASE</spring.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- spring begin --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- spring end --><!-- web jar --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.1.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version><scope>provided</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version><exclusions> <exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.9</version></dependency><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.3</version></dependency></dependencies>
创建服务接口,并实现提供的服务
public interface DubboService {public String helloword(String say);}
import org.springframework.stereotype.Service;@Service("dubboService")public class DubboServiceImp implements DubboService {public String helloword(String say) {System.out.println("hello word");return "return:"+say;}}
创建dubbo-provider.xml将服务暴露出来。
<?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管理页面比较清晰是哪个应用暴露出来的 --><dubbo:application name="dubbo-provider"></dubbo:application><!-- 使用zookeeper注册中心暴露服务地址 --><dubbo:registry address="zookeeper://10.151.30.28:2181"check="false" subscribe="false" register=""></dubbo:registry><!-- 要暴露的服务接口 --><dubbo:service interface="com.lidong.dubbo.DubboService"ref="dubboService" /></beans>
启动项目即可。
服务消费者代码
maven引入相关包
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- spring begin --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>${spring.version}</version></dependency><!-- spring end --><!-- web jar --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.1.2</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version><scope>provided</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.5.3</version><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.9</version></dependency><dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.3</version></dependency></dependencies>
创建dubbo-customer.xml引用服务
<?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-consumer"></dubbo:application> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry address="zookeeper://10.151.30.28:2181" check="false"></dubbo:registry> <!-- 要引用的服务 --> <dubbo:reference interface="com.lidong.dubbo.DubboService" id="dubboService"></dubbo:reference></beans>
测试
public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "spring-mvc.xml" });context.start();DubboService service =(DubboService) context.getBean("dubboService");String helloword = service.helloword("success");System.out.println(helloword);}
0 0
- spring+dubbo+zookeeper整合
- Zookeeper+Dubbo+Spring整合
- zookeeper,dubbo,spring整合
- spring 、zookeeper(dubbo)整合
- spring 、zookeeper(dubbo)整合
- dubbo、zookeeper、Spring整合实例
- spring 、zookeeper(dubbo)整合
- dubbo+zookeeper+spring整合demo
- Dubbo与Zookeeper、Spring整合
- Dubbo与Zookeeper、Spring整合和使用
- Dubbo与Zookeeper、Spring整合使用.
- Dubbo与Zookeeper、Spring整合使用
- dubbo 入门,与zookeeper maven spring整合
- Dubbo与Zookeeper、Spring整合使用
- Dubbo整合Zookeeper和Spring示例程序
- Dubbo+Zookeeper+Spring MVC+JDK8整合应用
- Dubbo+Zookeeper+Spring整合应用篇
- Dubbo与Zookeeper、Spring整合使用
- http概述
- HEVC print out summary中 BitRate组成部分
- Socket总结
- Linux下的Access time、Modify time和Change time
- ORACLE日期时间函数大全
- zookeeper,dubbo,spring整合
- 基础笔试题
- 【Linux】Nginx完整配置
- python学习笔记1-数据类型:int,str
- JRE下的rt.jar、tools.jar
- 【Java开发手册之编程规约(四)】OOP规约
- du、df 查看磁盘占用、目录文件大小
- apache2.4 tomcat8整合
- gmapping导航/建地图