Dubbo服务的运行方式:

1、使用Servlet容器运行(Tomcat、Jetty等)----不可取 缺点:增加复杂性(端口、管理) 浪费资源(内存)
2、自建Main方法类来运行(spring容器) ----不建议(本地调试可用) 缺点: Dobbo本身提供的高级特性没用上 自已编写启动类可能会有缺陷
3、使用Dubbo框架提供的Main方法类来运行(Spring容器)----建议使用 优点:框架本身提供(com.alibaba.dubbo.Container.Main) 可实现优雅关机(ShutdownHook)
注意点: spring-context.xml <import resource="classpath:spring/spring-xxx.xml" />

一、服务的启动方式:servelet容器过于庞大,占用资源。
二、main方法在本地用的比较普遍,本地开发调试,单元测试,要掌握,不建议生产使用。
三、dubbo提供的启动类:建议使用dubbo服务自带的启动类,好处是优雅关机,避免强行关闭导致数据丢失。

以下是dubbo服务的打包及启动配置,打出jar包的服务:

  1. <build>
  2. <finalName>edu-service-user</finalName>
  3. <resources>
  4. <resource>
  5. <targetPath>${project.build.directory}/classes</targetPath>
  6. <directory>src/main/resources</directory>
  7. <filtering>true</filtering>
  8. <includes>
  9. <include>**/*.xml</include>
  10. <include>**/*.properties</include>
  11. </includes>
  12. </resource>
  13. <!-- 结合com.alibaba.dubbo.container.Main -->
  14. <resource>
  15. <targetPath>${project.build.directory}/classes/META-INF/spring</targetPath>
  16. <directory>src/main/resources/spring</directory>
  17. <filtering>true</filtering>
  18. <includes>
  19. <include>spring-context.xml</include>
  20. </includes>
  21. </resource>
  22. </resources>
  23. <pluginManagement>
  24. <plugins>
  25. <!-- 解决Maven插件在Eclipse内执行了一系列的生命周期引起冲突 -->
  26. <plugin>
  27. <groupId>org.eclipse.m2e</groupId>
  28. <artifactId>lifecycle-mapping</artifactId>
  29. <version>1.0.0</version>
  30. <configuration>
  31. <lifecycleMappingMetadata>
  32. <pluginExecutions>
  33. <pluginExecution>
  34. <pluginExecutionFilter>
  35. <groupId>org.apache.maven.plugins</groupId>
  36. <artifactId>maven-dependency-plugin</artifactId>
  37. <versionRange>[2.0,)</versionRange>
  38. <goals>
  39. <goal>copy-dependencies</goal>
  40. </goals>
  41. </pluginExecutionFilter>
  42. <action>
  43. <ignore />
  44. </action>
  45. </pluginExecution>
  46. </pluginExecutions>
  47. </lifecycleMappingMetadata>
  48. </configuration>
  49. </plugin>
  50. </plugins>
  51. </pluginManagement>
  52. <plugins>
  53. <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 -->
  54. <plugin>
  55. <groupId>org.apache.maven.plugins</groupId>
  56. <artifactId>maven-jar-plugin</artifactId>
  57. <configuration>
  58. <classesDirectory>target/classes/</classesDirectory>
  59. <archive>
  60. <manifest>
  61. <mainClass>com.alibaba.dubbo.container.Main</mainClass>
  62. <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 -->
  63. <useUniqueVersions>false</useUniqueVersions>
  64. <addClasspath>true</addClasspath>
  65. <classpathPrefix>lib/</classpathPrefix>
  66. </manifest>
  67. <manifestEntries>
  68. <Class-Path>.</Class-Path>
  69. </manifestEntries>
  70. </archive>
  71. </configuration>
  72. </plugin>
  73. <plugin>
  74. <groupId>org.apache.maven.plugins</groupId>
  75. <artifactId>maven-dependency-plugin</artifactId>
  76. <executions>
  77. <execution>
  78. <id>copy-dependencies</id>
  79. <phase>package</phase>
  80. <goals>
  81. <goal>copy-dependencies</goal>
  82. </goals>
  83. <configuration>
  84. <type>jar</type>
  85. <includeTypes>jar</includeTypes>
  86. <useUniqueVersions>false</useUniqueVersions>
  87. <outputDirectory>
  88. ${project.build.directory}/lib
  89. </outputDirectory>
  90. </configuration>
  91. </execution>
  92. </executions>
  93. </plugin>
  94. </plugins>
  95. </build>

五、启动jar包,定位到相应的目录下,执行  java -jar edu-service-user.jar &

修改spring-context.xml文件中对另外两个文件的引用路径:前面加上classpath:spring/spring-mybatis.xml

六、当然了,我们的服务是war包,直接部署在tomcat就ok了。配置如下:

    1. <build>
    2. <finalName>****-service</finalName>
    3. <resources>
    4. <resource>
    5. <targetPath>${project.build.directory}/classes</targetPath>
    6. <directory>src/main/resources</directory>
    7. <filtering>true</filtering>
    8. <includes>
    9. <include>**/*</include>
    10. </includes>
    11. </resource>
    12. <!-- 结合com.alibaba.dubbo.container.Main -->
    13. <resource>
    14. <targetPath>${project.build.directory}/classes/META-INF/spring</targetPath>
    15. <directory>src/main/resources/spring</directory>
    16. <filtering>true</filtering>
    17. <includes>
    18. <include>spring.xml</include>
    19. </includes>
    20. </resource>
    21. </resources>
    22. <pluginManagement>
    23. <plugins>
    24. <!-- 解决Maven插件在Eclipse内执行了一系列的生命周期引起冲突 -->
    25. <plugin>
    26. <groupId>org.eclipse.m2e</groupId>
    27. <artifactId>lifecycle-mapping</artifactId>
    28. <version>1.0.0</version>
    29. <configuration>
    30. <lifecycleMappingMetadata>
    31. <pluginExecutions>
    32. <pluginExecution>
    33. <pluginExecutionFilter>
    34. <groupId>org.apache.maven.plugins</groupId>
    35. <artifactId>maven-dependency-plugin</artifactId>
    36. <versionRange>[2.0,)</versionRange>
    37. <goals>
    38. <goal>copy-dependencies</goal>
    39. </goals>
    40. </pluginExecutionFilter>
    41. <action>
    42. <ignore />
    43. </action>
    44. </pluginExecution>
    45. </pluginExecutions>
    46. </lifecycleMappingMetadata>
    47. </configuration>
    48. </plugin>
    49. </plugins>
    50. </pluginManagement>
    51. <plugins>
    52. <plugin>
    53. <groupId>org.apache.maven.plugins</groupId>
    54. <artifactId>maven-compiler-plugin</artifactId>
    55. <version>3.1</version>
    56. <configuration>
    57. <source>1.8</source>
    58. <target>1.8</target>
    59. <encoding>UTF-8</encoding>
    60. <compilerArgs>
    61. <arg>-extdirs</arg>
    62. <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg>
    63. </compilerArgs>
    64. </configuration>
    65. </plugin>
    66. <plugin>
    67. <groupId>org.apache.maven.plugins</groupId>
    68. <artifactId>maven-war-plugin</artifactId>
    69. <version>2.6</version>
    70. <configuration>
    71. <warName>****</warName>
    72. <archive>
    73. <addMavenDescriptor>false</addMavenDescriptor>
    74. </archive>
    75. </configuration>
    76. </plugin>
    77. </plugins>
    78. </build>

dubbo的启动方法的更多相关文章

  1. dubbo服务启动的方式

    dubbo服务启动的方式: 1.dubbo自带的脚本, 2.直接用main方法启动dubbo的spring容器,参见dubbo-test里的各个例子 3.dubbo的spring boot start ...

  2. angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用

    今天我们要讲的是ng2的路由系统. 例子

  3. [DUBBO]Dubbo控制台查看方法

    1.dubbo控制台安装方法网上较多,例如转载http://dtbuluo.com/blog/archives/37 2.dubbo控制台查看 由于我们组是开发安装的dubbo.zookeeper等等 ...

  4. [转]❲阮一峰❳Linux 守护进程的启动方法

    ❲阮一峰❳Linux 守护进程的启动方法 "守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问题的由来 ...

  5. Linux下memcached安装和启动方法

    Linux下memcached安装和启动方法 1. 首先下载memcached 和 libevent 包. Memcached用到了libevent这个库用于Socket的处理.下面是下载的两个包文件 ...

  6. 免安装版Tomcat6.0启动方法

    免安装版Tomcat6.0启动方法 1.下载Tomcat Zip压缩包,解压. 2.修改startup.bat文件: 在第一行前面加入如下两行 SET JAVA_HOME=JDK目录 SET CATA ...

  7. Service的两种启动方法

    刚才看到一个ppt,介绍service的两种启动方法以及两者之间的区别. startService 和 bindService startService被形容为我行我素,而bindService被形容 ...

  8. viewController启动方法分析

    viewController启动方法分析 转载:http://blog.csdn.net/dizzthxl/article/details/14170047 首先理清楚一个概念: 创建一个类和实例化一 ...

  9. xWorks下的硬盘启动方法

    在VxWorks下进行开发调试,在目标机上加载VxWorks映像很重要,在目标机上加载VxWorks映像,最重要的是三个步骤: 第一步,修改config.h文件,在config.h文件里包括硬盘驱动. ...

随机推荐

  1. CH5102/SPOJ?? Mobile Service/P4046 [JSOI2010]快递服务[线性dp+卡常]

    http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%B ...

  2. 【LuoguP4887】第十四分块(前体)

    题目链接 题意 区间两数异或在二进制下有 \(k\) 个 \(1\) 的对数. Sol 普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案. 直接做不是很好做,容易发现其实这也就是一 ...

  3. iOS的navigationbar设置左边按钮文字

    实例代码: - (void)viewDidLoad { [super viewDidLoad]; [self setTitle:@"Test"]; //以下是主要实现代码 UIBu ...

  4. 【weblogic】WTC配置(Weblogic Tuxedo Connector)

    记录下工作中涉及到的WTC使用 WTC 是BEA 的WEB支持产品Weblogic和中间件产品Tuxedo之间的连接工具,全称Weblogic Tuxedo Connector.WTC使Weblogi ...

  5. 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置

    VM基本是BAT面试必考的内容,今天我们先从JVM内存模型开启详解整个JVM系列,希望看完整个系列后,可以轻松通过BAT关于JVM的考核. BAT必考JVM系列专题 1.JVM内存模型 2.JVM垃圾 ...

  6. js-点击+加关注变成已关注,已关注状态时,鼠标滑动上的状态时取消关注

    效果: HTML: <div class="rightBtn cur">+关注</div> CSS: .rightBtn{ width: 80px; hei ...

  7. jquery keypress() 方法 语法

    jquery keypress() 方法 语法 作用:keypress 事件与 keydown 事件类似.当按钮被按下时,会发生该事件.它发生在当前获得焦点的元素上.不过,与 keydown 事件不同 ...

  8. poj 3579 Median 二分套二分 或 二分加尺取

    Median Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5118   Accepted: 1641 Descriptio ...

  9. poj 3662 Telephone Lines dijkstra+二分搜索

    Telephone Lines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5696   Accepted: 2071 D ...

  10. 彩色图像--色彩空间 CMY(K)空间

    学习DIP第63天 转载请标明本文出处:***http://blog.csdn.net/tonyshengtan ***,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:http ...