dubbo+maven 项目打包*(服务者)
来源:互联网 发布:淘宝无门槛优惠券名称 编辑:程序博客网 时间:2024/05/17 23:22
前面写过 dubbo的 hello world 和 一个普通的ssm框架集成 的2个项目.
今天我们来将 普通的项目 改造成dubbo服务的结构. 并且provider以jar包方式运行.
前面 dubbo的hello world 点这里看 传送门
前面 ssm框架集成的项目 点这里看 传送门
本博客源码地址:https://code.csdn.net/qq315737546/dt2/tree/master
1.改造前后目录结构对比
2.改造思路说明
3.测试改造后项目
4.构建可运行jar包
1.改造前后目录结构对比
改造前如下图
改造后如下图
2.改造思路说明
1)增加serviceImpl层.
通过dubbo helloworld的项目, 我们知道 消费者和提供者需要公用接口层. 所以我们改造的时候将原来的service层 分为 service和impl 层.
2)抽取common包.
dubbo的思想就是服务化,所以会有多个服务(提供者),而这些服务要公用的common包,就单独出来做为一个jar.
3)将model层和service层放入api.
service层是接口,而model层也需要 消费者和提供者公用, 所以都放入 api中.
4)提供者中删除web配置.
因为提供者中不需要提供web服务,所以就可以删除mvc的配置文件.dao层和serviceImpl则要放在这里, 如果用redis等缓存,也是放在这.
5)消费者中删除数据库配置
消费者负责请求分发,调用对应提供者,所以不再需要数据库配置
3.测试改造后项目
项目按上面目录结构改造后,就可以进行测试了.
我们在dubbo的helloworld中,测试是把 提供者和消费者都部署在tomcat进行的. 现在我们的提供者因为删掉了web配置,不能再放到tomcat这种容器中运行.这时候可以自己写个main方法来运行这个提供者.
运行这个类,然后把 消费者部署到 tomcat中运行. 就可以进行测试了.
4.构建可运行jar包
提供者以jar包运行是dubbo官方推荐的,如下图 传送门
提供者以jar包方式运行,在本地调试可以用main方法运行,部署的时候就只能是打成jar包了.
我们这里使用maven来配置,使用默认的Spring Container (自动加载META-INF/spring目录下的所有Spring配置。)
eclipse里面, run as maven install, 就可以在target目录下得到 jar包和lib文件夹
这时候用命令行 运行 java -jar dt2-service-user.jar 就可以启动提供者的服务了. (如果copy到别的目录,需要把lib文件夹一起copy过去).
- dubbo+maven 项目打包*(服务者)
- maven打包dubbo服务接口(maven-assembly-plugin)
- maven打包dubbo服务依赖jar包缺失问题
- 用maven打包dubbo项目并部署到云平台
- maven项目dubbo服务怎么打成tar包来部署
- Dubbo系列(十三)Dubbo之将Dubbo服务打包成Jar包
- dubbo-如何搭建maven项目,并实现Dubbo分布式服务管理
- maven搭建Dubbo框架服务
- Maven-maven多模块项目搭建+Dubbo分布式服务框架 budong
- 通过Maven将一个dubbo服务打包成可执行的jar包,并向注册中心注册服务
- Maven创建dubbo项目-dubbo配置文件错误
- Dubbo+maven+springmvc启动服务者时出现严重异常
- dubbo入门基于maven项目
- springmvc+dubbo的maven项目
- 使用maven-assembly-plugin打包dubbo接口
- maven打包dubbo接口之最佳实践
- 可执行jar(dubbo)打包成window服务
- 关于使用maven打包项目(简述)
- linux 下的 6 种运行级别
- Android Webview Js交互遇到的坑!!!
- 顺序队列.c
- 搭建Eclipse下的C++编译环境
- 记录诡异的nginx请求500错误
- dubbo+maven 项目打包*(服务者)
- 数字图像处理-基本知识点(一)
- Mngodb数据库的简单使用
- 11.laravel项目报错DecryptException:The MAC is invalid.
- git版本控制管理系列-----第十一章 储藏和引用日志
- ESD 接触放电、空气放电
- git版本控制管理系列-----第十二章 远程版本库
- git版本控制管理系列-----第十三章 版本库管理
- Codeforces Round #453 (Div. 2)