码迷,mamicode.com
首页 > 其他好文 > 详细

初识dubbo之暴露和引用服务(三)

时间:2018-10-04 10:27:32      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:技术   其他   maven   接口规范   16px   ons   ali   规范   服务层   

            前面已经介绍了dubbo是什么,用来做什么,以及监控中心zookeeper的安装,接下来讲讲将其应用到tomcat工程项目中……

(一)项目结构展示

        1、 两个maven同级项目,一个发布服务,一个使用……

技术分享图片

 

(二)准备工作,添加依赖、约束文件

        1、分别对两个工程添加依赖,

             这里注意,因为加入dubbo依赖,会传递其依赖的spring2.x的版本依赖,而本maven工程已经添加spring4.x的依赖,所以这里要除去……

    技术分享图片

        2、约束

技术分享图片

(三)开启zookeeper监控中心服务

技术分享图片

 

(四)配置文件以暴露和引用服务

        1、service服务层发布服务

              第一项是所起的名字,接着是注册中心服务的主机地址及端口,第三项是暴露服务的端口,

              如果还有其他工程同时发布服务,那么要另外使用别的端口号,最后是发布的服务的接口规范,要提供实现类以引用对象。。。

技术分享图片

        2、web表现层引用服务

              第一项名字,接着zookeeper注册中心地址,最后是要引用的服务。。。

技术分享图片

 

(五)进行网络传输的pojo要实现序列化接口

          implements Serializable

(六)重新将maven工程安装到本地仓库

          maven install

(七)tomcat插件的测试使用

          将表现层工程pom文件改造,端口不要同服务层的8080,运行时,先运行服务层再运行表现层,tomcat7:run。。。

技术分享图片

 

        运行结果:

技术分享图片

 

(八)可能出现的异常

           控制台打印:com.alibaba.dubbo.remoting.TimeoutException

           页面打印: Request processing failed; nested exception is com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method getItemById in the service cn.e3mall.service.ItemService. Tried 3 times of the providers [192.168.244.1:20880] (1/1) from the registry 192.168.244.128:2181 on the consumer 192.168.244.1 using the dubbo version 2.5.3. Last error is: Invoke remote method timeout. 

            解决: 在服务和表现层的spring配置文件中加入如下:

技术分享图片

技术分享图片

           其实同个问题可能导致的原因有千百种,这里我只是利用此种方法而又刚好解决了而已……

 

 

      最后,

 

              由于使用不多,接触少,如有错漏的地方欢迎指出、批评,多谢!

 

初识dubbo之暴露和引用服务(三)

标签:技术   其他   maven   接口规范   16px   ons   ali   规范   服务层   

原文地址:https://www.cnblogs.com/panshu-1234/p/9740153.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!