Java Apollo環(huán)境搭建以及集成SpringBoot案例詳解
環(huán)境搭建
下載Quick Start安裝包
從Github下載:checkout或下載apollo-build-scripts項(xiàng)目
手動(dòng)打包Quick Start安裝包
- 修改apollo-configservice, apollo-adminservice和apollo-portal的pom.xml,注釋掉spring-boot-maven-plugin和maven-assembly-plugin
- 在根目錄下執(zhí)行mvn clean package -pl apollo-assembly -am -DskipTests=true
- 復(fù)制apollo-assembly/target下的jar包,rename為apollo-all-in-one.jar
創(chuàng)建數(shù)據(jù)庫(kù)
Apollo服務(wù)端共需要兩個(gè)數(shù)據(jù)庫(kù):ApolloPortalDB和ApolloConfigDB,數(shù)據(jù)庫(kù)、表的相關(guān)Sql在安裝包里,只需要導(dǎo)入數(shù)據(jù)庫(kù)即可。直接導(dǎo)入就行。
配置數(shù)據(jù)庫(kù)連接信息
-Apollo服務(wù)端需要知道如何連接到你前面創(chuàng)建的數(shù)據(jù)庫(kù),所以需要編輯demo.sh,修改ApolloPortalDB和ApolloConfigDB相關(guān)的數(shù)據(jù)庫(kù)連接串信息。
注意:填入的用戶需要具備對(duì)ApolloPortalDB和ApolloConfigDB數(shù)據(jù)的讀寫權(quán)限。
#apollo config db info apollo_config_db_url=jdbc:mysql://localhost:3306/ApolloConfigDB?characterEncoding=utf8 apollo_config_db_username=用戶名 apollo_config_db_password=密碼(如果沒(méi)有密碼,留空即可) # apollo portal db info apollo_portal_db_url=jdbc:mysql://localhost:3306/ApolloPortalDB?characterEncoding=utf8 apollo_portal_db_username=用戶名 apollo_portal_db_password=密碼(如果沒(méi)有密碼,留空即可)
注意:不要修改demo.sh的其它部分
修改默認(rèn)的apollo端口
# meta server url config_server_url=http://localhost:6001 admin_server_url=http://localhost:6002 eureka_service_url=$config_server_url/eureka/ portal_url=http://localhost:6003
啟動(dòng)apollo配置中心
- 在 git bash窗口中運(yùn)行命令行
./demo.sh start
- 啟動(dòng)成功界面信息如下:
- 如果啟動(dòng)報(bào)錯(cuò),請(qǐng)?jiān)谙鄳?yīng)的日志文件中查看出錯(cuò)原因。
Apollo啟動(dòng)成功
- 默認(rèn)8080界面
- 8090 apoolo配置界面
登錄配置中心、新建服務(wù)的相關(guān)配置
- 默認(rèn)賬號(hào)密碼:
apollo admin
Apollo 集成 SpringBoot 讀取配置文件
概述
Apollo支持API方式和Spring整合方式,該怎么選擇用哪一種方式?
- API方式靈活,功能完備,配置值實(shí)時(shí)更新(熱發(fā)布),支持所有Java環(huán)境。
- Spring方式接入簡(jiǎn)單。 Spring方式也可以結(jié)合API方式使用,如注入Apollo的Config對(duì)象,就可以照常通過(guò)API方式獲取配置了:
@ApolloConfig private Config config; //inject config for namespace application
引入依賴
<dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</artifactId> <version>1.3.0</version> </dependency>
在配置中心新建配置文件
配置私有的 app-demo-one-dev 和共有的 app-common-dev
- app-demo-one-dev私有配置
- app-common-dev 共有配置
SpringBoot 配置拉去配置文件
- application.yml
apollo: bootstrap: eagerLoad: enabled: true enabled: true namespaces: application,TEST1.ConfigOne meta: http://localhost:8080 app: id: app-demo-one-dev
- 就是把所有的配置文件換了個(gè)地方存著,配置文件可以通過(guò)模塊化、公有化的方式配置,方便所有服務(wù)的配置文件管理。
- 還是挺簡(jiǎn)單的,方便開發(fā)。
- 配置相關(guān)代碼見:https://gitee.com/Marlon_Brando/back/commit/993b5e624b9b2beca070bd854b5f09bdb66a9859
到此這篇關(guān)于Java Apollo環(huán)境搭建以及集成SpringBoot案例詳解的文章就介紹到這了,更多相關(guān)Java Apollo環(huán)境搭建以及集成SpringBoot內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java并發(fā)編程之顯示鎖ReentrantLock和ReadWriteLock讀寫鎖
這篇文章主要介紹了Java并發(fā)編程之顯示鎖ReentrantLock和ReadWriteLock讀寫鎖,本文講解了ReentrantLock概況、Lock接口、Lock使用、輪詢鎖的和定時(shí)鎖、公平性、可中斷獲鎖獲取操作等內(nèi)容,需要的朋友可以參考下2015-04-04基于Flyway實(shí)現(xiàn)簡(jiǎn)化Spring Boot項(xiàng)目部署
這篇文章主要介紹了基于Flyway實(shí)現(xiàn)簡(jiǎn)化Spring Boot項(xiàng)目部署,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06java selenium 常見web UI 元素操作及API使用
本文主要介紹java selenium 常見web UI 元素操作,這里幫大家整理了相關(guān)資料并附示例代碼,有需要的小伙伴可以參考下2016-08-08Maven中Could not find artifact XXXX的錯(cuò)誤解決
本文主要介紹了Maven中Could not find artifact XXXX的錯(cuò)誤解決,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03springboot項(xiàng)目打包發(fā)布部署的過(guò)程及jar和war的區(qū)別
Spring Boot使用了內(nèi)嵌容器,因此它的部署方式也變得非常簡(jiǎn)單靈活,可以將Spring Boot項(xiàng)目打包成JAR包來(lái)獨(dú)立運(yùn)行,Spring Boot項(xiàng)目既可以生成WAR包發(fā)布,也可以生成JAR包發(fā)布,那么它們有什么區(qū)別呢2022-11-11詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序
本篇文章主要介紹了詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11