更改Apollo数据库为oracle

Posted 小黄鸡1992

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了更改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地址。

3.修改配置文件

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包 。

运行
解压上文获取的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

以上是关于更改Apollo数据库为oracle的主要内容,如果未能解决你的问题,请参考以下文章

Apollo 可以从缓存中读取部分片段吗?

Apollo Codegen 没有找到生成代码的操作或片段

如何为 apollo 客户端生成片段类型?

Apollo 客户端片段不嵌入数据

使用 Apollo 客户端的片段组合:约定和样板

从 Apollo 缓存中读取特定类型的所有片段