更改Apollo数据库为oracle

这是我参与11月更文挑战的第18天,活动详情查看:2021最后一次更文挑战

根据公司领导安排现在需要系统设置 决定使用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地址。 在这里插入图片描述

3.修改配置文件

在这里插入图片描述

2.问题三

这里我们百度了一下,有分支为oracle版本,这里我们就可以参考一下啦 。地址;www.cnblogs.com/skabyy/p/10…

以上文章有些地方有些模糊,这里补充一下。

  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包 。 在这里插入图片描述 运行 解压上文获取的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}
复制代码

Guess you like

Origin juejin.im/post/7031783981506887711