關於springboot + dubbo 部署啟動方式(Windows版)
專案結構
注:專案構建通過: http://start.spring.io/ 快速構建web 專案,
具體操作可以參考《SpringBoot使用SpringDataJPA完成資料查詢 -Demo》。
本次專案搭建應用的元件是springboot + dubbo + mybatis + redis +maven
演示是基於之前構建的專案為基礎
詳情可以參考:
《SpringBoot + Dubbo + Mybatis 分層實現分散式服務》
本次專案簡單敘述如何在springboot框架當中進行配置完成windows版的部署方案。
在基礎環境確定好了之後,我們專案的目錄結構如下:
專案結構與之前相同
可參考《
部署介紹
本次詳細介紹使用springboot + dubbo 在windows 系統中實現部署方案,並詳解如何利用指令碼實現一鍵部署方案
我們用之前已經搭建好的專案為例,這裡專案搭建不詳細介紹,可以參考往期《SpringBoot + Dubbo + Mybatis 分層實現分散式服務》
部署配置詳細情況下面一一介紹:
首先我們可以在dubbo提供者中也就是在專案hdd-doorplate-dubbo-server的這個模組中的pom檔案 利用maven的配置進行配置
<build> <filters> <filter>src/main/resources/application.properties</filter> </filters> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.4</version> <configuration> <skip>true</skip> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptor>src/main/assembly/assembly.xml</descriptor> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-javac</artifactId> <version>1.8.1</version> </dependency> </dependencies> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.10</version> <configuration> <skip>true</skip> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build>
然後我們新建模組assembly 這個模組,注意、這個模組需要和pom檔案中的配置資訊對應,名字起什麼無所謂
然後在assembly.xml中進行打包輸出的配置
<assembly>
<id>assembly</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>true</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>src/main/assembly/bin</directory>
<outputDirectory>bin</outputDirectory>
<fileMode>0755</fileMode>
</fileSet>
<fileSet>
<directory>target/classes</directory>
<outputDirectory>conf</outputDirectory>
<fileMode>0644</fileMode>
<includes>
<include>*.properties</include>
</includes>
<excludes>
<exclude>log4j.properties</exclude>
</excludes>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
<scope>runtime</scope>
</dependencySet>
</dependencySets>
</assembly>
我們包含的是所有的properties的檔案,除過log4j的檔案,所有的jar包全部放在lib的檔案,啟動指令碼放在bin檔案中
在bin檔案中編寫指令碼啟動方式
最後所有的配置都已經完成,在springboot中內建了tomcat容器,我們在pom檔案中可配置
<!-- Spring Boot Web 依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
所以我們對外提供的介面的配置資訊,與上述配置資訊相同,也可以進行上述的maven配置來構建我們的啟動方式。
在所有的配置已經完成,來測試一下:我們先利用maven去打包
打完的包經過解壓得到的檔案,然後就可以在bin中找到啟動start.bat檔案,去啟動rpc服務。
啟動成功
我們在去啟動我們服務消費的web類,同理啟動
然後我們訪問測試:
由此可以見這次打包已經成功。
需要注意事項:
1:注意pom檔案和assembly.xml中檔案的對應關係
2:確認對外顯示的配置檔案包含的和未包含的配置
3:在啟動的指令碼中注意配置屬於自己的啟動類的包名
4:本專案使用的是dubbo,注意是否開啟註冊中心
5:核對訪問路徑和埠是否正確
歡迎關注公眾號: