nacos默认只支持mysql数据库,要适配oracle数据源,必须得修改源码后再编译部署
一.源码获取下载nacos: link源码,下载完成之后将分支切换到 feature_multiple_datasource_support
由于此分支支持oracle12c,需要更换驱动包版本
1.nacos-all 下pom文件修改2.nacos-config的pom文件增加引入需要支持的数据库驱动,并取消oracle高版本驱动引入... 12.1.0.1.0 ...... ... ... com.oracle ojdbc7${ojdbc.version}
com.oracle
ojdbc7
三.对数据库映射实体的主键逻辑修改【需要配合后续的序列语句使用】
因为mysql使用的是自增序列,oracle11g并不支持,所以在使用jpa时需要指定主键及使用的索引的名字,需要对实体类进行修改
1. nacos-config下com.alibaba.nacos.config.server.modules.entity
这里只举一个示例,蓝色部分都是有修改的
需要注意的是PermissionsEntity类的resource字段,因为是oracle数据库关键字,所有在建表语句(下载建表语句)中修改成resources,需要在对应字段修改下
@Column(name = "resources")
private String resource;
四.修改nacos-console配置文件application.properties
# oracle数据库配置 nacos.datasource.type=ORACLE nacos.datasource.relational.dsList[0].url=jdbc:oracle:thin:@xxx:1521:orcl nacos.datasource.relational.dsList[0].username=xxx nacos.datasource.relational.dsList[0].password=xxx nacos.datasource.relational.dsList[0].driver-class-name=oracle.jdbc.driver.OracleDriver nacos.datasource.relational.dsList[0].hikari.connection-timeout=10000 nacos.datasource.relational.dsList[0].hikari.idle-timeout=120000 nacos.datasource.relational.dsList[0].hikari.max-lifetime=240000 nacos.datasource.relational.dsList[0].hikari.maximum-pool-size=20 nacos.datasource.relational.dsList[0].hikari.data-source-properties.cachePrepStmts=true nacos.datasource.relational.dsList[0].hikari.data-source-properties.prepStmtCacheSize=250 nacos.datasource.relational.dsList[0].hikari.data-source-properties.prepStmtCacheSqlLimit=2048 nacos.datasource.relational.dsList[0].hikari.connection-test-query=SELECt 1 FROM dual五.idea启动单机nacos进行调试
nacos-console模块的Nacos启动类
单机模式启动,环境变量-Dnacos.standalone=true
如果报错找不到符号com.alibaba.nacos.consistency.entity
最简单的办法就是执行 mvn compile,原因是这个包目录是由protobuf在编译时自动生成
重新启动即可
进行打包发布,在nacos-all目录下执行cmd命令
mvn -Prelease-nacos -Dmaven.test.skip=true -Dpmd.skip=true -Drat.skip=true -Dcheckstyle.skip=true clean install -U
最后在distributioni目录下的target就会出现压缩文件了,这样就相当于从nacos官网直接下载的压缩包,具体nacos配置可以自行完成。



