IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Nacos适配oracle11g-修改Nacos源码 -> 正文阅读

[大数据]Nacos适配oracle11g-修改Nacos源码

nacos默认只支持mysql数据库,要适配oracle数据源,必须得修改源码后再编译部署

一.源码获取

下载nacos: link源码,下载完成之后将分支切换到 feature_multiple_datasource_support
在这里插入图片描述

二. jar包引入及更换

由于此分支支持oracle12c,需要更换驱动包版本

1.nacos-all 下pom文件修改

<properties>
		...
        <!--    移除ojdbc8依赖版本    -->
        <!--        <ojdbc.version>19.3.0.0</ojdbc.version>-->
        <!--     更改oracle版本为ojdbc7-->
        <ojdbc.version>12.1.0.1.0</ojdbc.version>
        ...
</properties>

<!-- 管理依赖版本号,子项目不会默认依赖 -->
<dependencyManagement>
    <dependencies>
    ...
         <!-- oracle包 -->
         <dependency>
             <groupId>com.oracle</groupId>
             <artifactId>ojdbc7</artifactId>
             <version>${ojdbc.version}</version>
         </dependency>
	...
<!--移除ojdbc8依赖版本-->
<!--            <dependency>-->
<!--                <groupId>com.oracle.ojdbc</groupId>-->
<!--                <artifactId>ojdbc8</artifactId>-->
<!--                <version>${ojdbc.version}</version>-->
<!--            </dependency>-->
...
    </dependencies>
</dependencyManagement>

2.nacos-config的pom文件增加引入需要支持的数据库驱动,并取消oracle高版本驱动引入

<!--        <dependency>-->
<!--            <groupId>com.oracle.ojdbc</groupId>-->
<!--            <artifactId>ojdbc8</artifactId>-->
<!--        </dependency>-->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc7</artifactId>
        </dependency>

三.对数据库映射实体的主键逻辑修改【需要配合后续的序列语句使用】

因为mysql使用的是自增序列,oracle11g并不支持,所以在使用jpa时需要指定主键及使用的索引的名字,需要对实体类进行修改

1. nacos-config下

com.alibaba.nacos.config.server.modules.entity
这里只举一个示例,蓝色部分都是有修改的
在这里插入图片描述

需要注意的是PermissionsEntity类的resource字段,因为是oracle数据库关键字,所有在建表语句(下载建表语句)中修改成resources,需要在对应字段修改下

/**
     * resource.
     */
    @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在编译时自动生成
重新启动即可

七.访问页面,localhost:8848/nacos 用户/密码:nacos/nacos

在这里插入图片描述

八.打包发布

进行打包发布,在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配置可以自行完成。
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:11:43  更:2022-06-25 18:14:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:19:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码