天天看點

更改Apollo資料庫為oracle

更改Apollo資料庫為oracle

根據公司上司安排現在需要系統設定 決定使用apollo 有以下兩點要求

  1. 注冊到自己eureka上面
  2. 因為公司使用的是oracle,是以資料庫最好使用oracle 。

是以需要稍微修改以下源碼,首先下載下傳源碼。

1.問題一

經過apollo文檔,找到了解決辦法。(1.5.0之前的版本)

1.修改源碼注解

修改com.ctrip.framework.apollo.configservice.ConfigServiceApplication,把@EnableEurekaServer改為@EnableEurekaClient      
注意
  1. 部落客這裡的路徑為E:\apollo-oracle-eureka\apollo-configservice\src\main\java\com\ctrip\framework\apollo\configservice\ConfigServiceApplication以供參考。
  2. 然後修改注解,但是這裡有個坑,在更改注釋時,需要把注解需要的包也加入,這裡為import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

2.更改資料庫

修改ApolloConfigDB.ServerConfig表中的eureka.service.url,指向自己的Eureka位址。

更改Apollo資料庫為oracle

3.修改配置檔案

更改Apollo資料庫為oracle

2.問題三

這裡我們百度了一下,有分支為oracle版本,這裡我們就可以參考一下啦 。位址;https://www.cnblogs.com/skabyy/p/10316720.html

以上文章有些地方有些模糊,這裡補充一下。

  1. 經測試 ojdbc8也可以 部落客這裡使用的是Nexus進行處理這個jar包
  2. 源碼下載下傳好之後我們隻需要一個操作,隻需要修改 E:\apollo\scripts\build.sh,部落客這裡隻搭建了pro環境,是以隻修改連接配接方式和pro的位址 其他代碼不變,修改之後為。
#!/bin/sh

# apollo config db info
apollo_config_db_url=jdbc:oracle:thin:@192.168.2.12:1521/orcl
apollo_config_db_username=APOLLOCONFIG
apollo_config_db_password=123

# apollo portal db info
apollo_portal_db_url=jdbc:oracle:thin:@192.168.2.12:1521/orcl
apollo_portal_db_username=APOLLOPORTAL
apollo_portal_db_password=123


# meta server url, different environments should have different meta server addresses
# dev_meta=http://fill-in-dev-meta-server:8080
# fat_meta=http://fill-in-fat-meta-server:8080
# uat_meta=http://fill-in-uat-meta-server:8080
pro_meta=http://127.0.0.1:8080      

1.打包

  1. 如果是linux下,複制到linux伺服器,運作scripts/bulid.sh檔案,執行./bulid.sh即可。
  2. 如果是window那麼直接輕按兩下E:\apollo\scripts\build.bat

執行完畢後擷取到打好的zip包 。

更改Apollo資料庫為oracle

運作

解壓上文擷取的zip包,分别進入進入apollo/apollo-adminservice/scripts/,apollo/apollo-configservice/scripts/,/apollo/apollo-portal/scripts/,運作指令:

./startup.sh      

注意:如果在打包時不修改build.sh/build.bat,直接修改修改每一個服務下的config\application-github.properties的檔案也可以

例如修改apollo-configservice\config\application-github.properties連接配接,但是注意連接配接資訊為oracle的驅動,文法為:

spring.datasource.username={ApolloConfig|ApolloPortal}
spring.datasource.password={password}