SpringMVC集成阿里的dubbo框架

来源:互联网 发布:美股数据下载 编辑:程序博客网 时间:2024/06/15 00:57

 Dubbo |ˈDʌBəʊ|是一个高性能的基于RPC的java开源框架由阿里巴巴 (摘录自dubbo.io官方网站)

下面我们来整合下Maven+Spring+dubbo。提供一个服务者服务

1、使用zookeeper注册中心暴露服务地址,需要下载zookeeper-3.4.6,并安装配置zookeeper.

     共享链接:链接:https://pan.baidu.com/s/1geYmFrP 密码:19lz

1、先将zookeeper解压2、进入zookeeper-3.4.6\conf3、将zoo_sample.cfg 重命名为 zoo.cfg 4、打开并编辑dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp5. 与Java中的做法类似,我们在系统环境变量中添加:  a. 在系统变量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6  b. 编辑path系统变量,添加为路径%ZOOKEEPER_HOME%\bin;6. 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)7、打开cmd 输入zkServer 启动Zookeeper

2、在项目中添加相关的依赖

 


3、编写服务类并配置spring.xml

 




4、启动服务

5、我们添加一个dubbo服务的监控的war包,把它放到tomcat下,下载地址:链接:https://pan.baidu.com/s/1eREBYts 密码:bri7

下载dubbo-admin-2.4.1.war包,在Linuxtomcat部署,先把dubbo-admin-2.4.1放在tomcatwebapps/ROOT下,然后进行解压:

        #jar -xvf dubbo-admin-2.4.1.war

    (2)然后到webapps/ROOT/WEB-INF下,有一个dubbo.properties文件,里面指向Zookeeper ,使用的是Zookeeper 的注册中心,内容为:

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

       

   (3)然后启动tomcat服务,用户名和密码:root,并访问服务,显示登陆页面,说明dubbo-admin部署成功,如图所示:






我们可以看到我们发布的服务:


到此为止我们的服务已经发布出去了,下一步我们将实现服务接口的调用

在上面我们创建了服务,我们还需要提供一个jar包,里面包含我们的接口。单纯的一个java小项目然后导出成一个jar包就可以,如图:



导出的jar包放到我们的customer项目中。然后加入到build path中。

customer项目中的pom.xml和上面一样,只是spring.xml内容不一样了,如图



这里我们订阅了zookeeper注册中心的这个服务,调用:

package com.zpl.customer.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.zpl.dubbo.IDubboProviderService;@Controllerpublic class DubboCustomerController {@Autowiredprivate IDubboProviderService demoService;@RequestMapping("hello")public void say(String str){String s=demoService.sayHello("你好啊");System.out.println(s);}}
启动服务后我们可以看到打印出来: Hello 你好啊。


有一点忘记说了。

在spring.xml中引用dubbo标签的时候报错,原因是我们没有将dubbo的xsd文件引进来,我们需要在maven本地仓库中找到阿里的dubbo.jar包。解压后找到dubbo.xsd

这个文件,然后配置到eclipse的xml设置中,如:


这样以后clean下项目 然后maven update下就可以了。

dubbo的使用这里只是简单的应用,后期如果用到复杂的遇到问题我们在说。。。


有必要说下zookeeper:

稍后补充: