dubbo —— 使用maven构建dubbo服务可执行jar包

使用maven构建dubbo服务可执行jar包

  • 一、dubbo服务启动方式分析
    • 1、使用Servlet容器运行(Tomcat、Jetty等)----不可取
    • 2、自建Main方法运行(Spring容器) ----不建议(本地调试可用)
    • 3、Dubbo框架提供Main方法类运行(Spring容器)----推荐使用
      • 可实现优雅关机 dubbo.shutdown.hook
  • 二、修改spring-context.xml
  • 三、修改服务pom.xml文件
  • 四、打包
    • 4.1 右击edu-common-parent 项目的pom.xml run as-->maven install
    • 4.2 右击edu-facade-user 项目的pom.xml run as-->maven install
    • 4.3 右击edu-service-user 项目的pom.xml run as-->maven install
  • 五、运行
      • 输入命令 java -jar edu-service-user.jar & (启动之前不要忘记启动zookeper)
  • 六、查看结果
  • 备注

一、dubbo服务启动方式分析

1、使用Servlet容器运行(Tomcat、Jetty等)----不可取

缺点:增加复杂性(端口、管理)
tomcat/jetty等占用端口,dubbo服务也需要端口
浪费资源(内存):单独启动tomcat,jetty占用内存大

2、自建Main方法运行(Spring容器) ----不建议(本地调试可用)

缺点: Dobbo本身提供的高级特性没用上,自已编写启动类可能会有缺陷

3、Dubbo框架提供Main方法类运行(Spring容器)----推荐使用

优点:框架本身提供(com.alibaba.dubbo.container.Main)

可实现优雅关机 dubbo.shutdown.hook

消费者:停止时,不再发送新的请求,所有新的调用在客户端发生报错。然后检查有没有请求响应没有返回,若有等待返回。除非超时,则强制关闭。
生产者:停止时,先标记为不接收新请求,新请求过来时报错,让消费者尝试其他机器。然后检测线程池中,是否有其他线程正在运行,如果有等待线程执行完毕。除非超时,则强制关闭。

二、修改spring-context.xml



改为



三、修改服务pom.xml文件

在pom.xml 中加入build


		edu-service-user
 
		
			
				${project.build.directory}/classes
				src/main/resources
				true
				
					**/*.xml
					**/*.properties
				
			
			
			
				${project.build.directory}/classes/META-INF/spring
				src/main/resources/spring
				true
				
					spring-context.xml
				
			
		
		
		
		
		
			
				org.apache.maven.plugins
				maven-jar-plugin
				
					target/classes/
					
						
							com.alibaba.dubbo.container.Main
							
							false
							true
							lib/
						
						
							.
						
					
				
			
			
				org.apache.maven.plugins
				maven-dependency-plugin
				
					
						copy-dependencies
						package
						
							copy-dependencies
						
						
							jar
							jar
							false
							
								${project.build.directory}/lib
							
						
					
				
			
		
 


四、打包

dubbo —— 使用maven构建dubbo服务可执行jar包_第1张图片
打包的时候,要根据项目依赖,逐层打包。
最终提供服务的项目为edu-service-user
他所依赖edu-facade-user、edu-common-parent
所以要先将edu-common-parent和edu-facade-user 打包到本地资源库
~~windows–>preferences–>maven–>uesrsettings
dubbo —— 使用maven构建dubbo服务可执行jar包_第2张图片

4.1 右击edu-common-parent 项目的pom.xml run as–>maven install

4.2 右击edu-facade-user 项目的pom.xml run as–>maven install

4.3 右击edu-service-user 项目的pom.xml run as–>maven install

打包完成 查看target包,生成lib和edu-service-user.jar 成功
dubbo —— 使用maven构建dubbo服务可执行jar包_第3张图片

五、运行

找到工作空间edu-service-user 项目的 target 将lib和edu-service-user.jar 复制到C:\usertest下,cmd进入。

输入命令 java -jar edu-service-user.jar & (启动之前不要忘记启动zookeper)

dubbo —— 使用maven构建dubbo服务可执行jar包_第4张图片

六、查看结果

dubbo —— 使用maven构建dubbo服务可执行jar包_第5张图片

备注

安装dubbo管控台链接:https://blog.csdn.net/han_xiaoxue/article/details/87921126
安装zookeper链接:https://blog.csdn.net/han_xiaoxue/article/details/86747509
此次应用项目链接:https://download.csdn.net/download/han_xiaoxue/10957427
项目介绍:https://blog.csdn.net/han_xiaoxue/article/details/87281795

你可能感兴趣的:(java)