0 課程地址
https://coding.imooc.com/lesson/201.html#mid=12744
1 重點關注
1.1 本節內容
使用tomcat啓動dubbo服務
tomcat啓動dubbo服務的弊端
2 課程內容
2.1 tomcat啓動dubbo服務的弊端
tomcat本身也是軟件,佔用內存
3 Coding
3.1 使用tomcat啓動dubbo服務
- 主要改造點:
涉及父項目,common項目,service和api項目共4個,
涉及
a service項目的pom文件改造
b service項目的log4j改造
c 啓動配置
d 啓動後的日誌查看
- a service項目的pom文件改造
1 pom文件引入dubbo和zk依賴(注意聚合的項目只是引用,具體哪個server需要就在哪個service所在項目的pom中進行引用該依賴)
將父項目的依賴如下
<dubbo.version>2.5.3</dubbo.version> <zookeeper.version>3.4.11</zookeeper.version> <zkclient.version>0.1</zkclient.version> <!-- 引入dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>${dubbo.version}</version> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>${zookeeper.version}</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>${zkclient.version}</version> </dependency>
移到service項目的pom文件中並修改,如下
<!-- 引入dubbo --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> </dependency>
2 pom文件 dependencies dubbo版本排除依賴spring,因爲dubbo自帶的spring版本2.5.6和pom文件裏的spring版本有衝突,所以要把dubbo內置的spring依賴排除掉
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency>
3 packing 裏是war包
<packaging>war</packaging>
4 引入tomcat7插件
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8081</port> <path>/</path> <useBodyEncodingForURI>true</useBodyEncodingForURI> <uriEncoding>UTF-8</uriEncoding> </configuration> </plugin> <plugin> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <additionalProjectnatures> <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> </additionalProjectnatures> <additionalBuildcommands> <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> </additionalBuildcommands> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </configuration> </plugin> </plugins> </build>
- b log4j配置文件修改(log4j copy到item-service子項目裏)
log4j.rootLogger=INFO,console
#INFO,console,dailyFile
log4j.logger.com.imooc.mapper=INFO
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.encoding=UTF-8
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%l] - [%p] %m%n
- c 啓動配置
1 啓動前install下
右鍵父項目,run as ->maven install,結果如下
2 上方菜單欄 debug按鈕,debug configurations
3 maven build tree進行new configuration->更改Name爲imooc-item,wokespace選擇item-service項目
goals 輸入:clean tomcat7:run
然後apply
source remove掉原來的,然後add ->java project->選擇imooc dubbo的api,service和common,
然後apply
最後開始debug
- d 啓動後的日誌查看
啓動後的日誌查看,能看到 register dubbo 對應的ip和service已經啓動