当前位置: 首页 > news >正文

若依分离版整合多数据源——Phoenix+HBase

记录牢农若依分离版框架整合Phoenix+HBase一天的痛苦经历

1.在ruoyi-admin的pom.xml中引入依赖

        <!--大数据-->
        <dependency>
            <groupId>org.apache.phoenix</groupId>
            <artifactId>phoenix-queryserver-client</artifactId>
            <version>5.0.0-HBase-2.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.将application-druid.yml的driverClassName配置注释掉,因为需要配置不同驱动类型的数据库连接

3.在master下添加driverClassName配置,并添加phoenix的连接

nebula:
    enabled: true #开启从库使用
    url: jdbc:phoenix:thin:url=http://ip:端口;serialization=PROTOBUF
    #虽然没有用户名和密码,但是username和password不能少
    username:
    password:
    driverClassName: org.apache.phoenix.queryserver.client.Driver
    validationQuery: SELECT 1 #自定义的验证查询

4.由于若依默认设置了durid连接池在初始化数据源的时候会执行select * dual验证查询,但Phoenix数据库中不存在名为 DUAL 的表,所以需要修改一下Phoenix数据源的验证查询为其支持的语法

5.在ruoyi-common的DataSourceType枚举类添加数据源标识

 6.修改ruoyi-framework的DruidConfig多数据源配置类,添加我们新增的数据源

7.(可选)修改ruoyi-framework下的DruidProperties,如果数据源已经有自定义的validationQuery,不要覆盖

8.数据源切换使用

只需要在需要使用不同数据源的mapper类/方法或者service类/方法上添加@DataSource注解即可切换数据源使用

http://www.dtcms.com/a/75655.html

相关文章:

  • 【初始C语言】转义字符
  • 图数据库Neo4j和JDK安装与配置教程(超详细)
  • 【C#高级编程】—表达式树详解
  • 深入理解Linux文件系统:从磁盘结构到inode与挂载
  • 【GPT入门】第25课 掌握 LangChain:链式调用的奥秘、特性与使用示例
  • javaEE————文件IO(1)
  • 供应链攻击:企业防护的最薄弱环节
  • pwn刷题记录
  • Logback 日志滚动策略配置指南:从基础到进阶
  • 计算机网络原理
  • 联邦学习(Federated Learning)
  • 流式语音识别概述-paddlespeech
  • 手撕算法 ——前缀和
  • 项目管理中的立项管理:从理论到实践的完整指南
  • 对 Docker 理解的补充 docker容器虚拟化技术有什么用?怎么使用?
  • springBoot中使用事务的隔离与回滚
  • 博弈论——AB博弈
  • ✨ **关于《恋与深空》的综合介绍**
  • 中兴B860AV3.2-T查处理器芯片是S905L3B还是S905L3SB芯片询方法分享
  • 深度学习视觉BEV 3D目标检测算法综述
  • 基于PyQt5与Open3D的轻量化BIM工具开发指南(下)‌
  • stm32 2.0
  • 基于ssm的【大湾区旅游推荐系统的设计与实现】
  • 【漫话机器学习系列】146.Softmax 激活函数(Softmax Activation Function)
  • 优先级队列(PriorityQueue)_1_模拟实现优先级队列
  • c++ 类和对象 —— 下 【复习总结】
  • Win11锁屏后显示“天气、市场、广告”如何取消显示
  • [从零开始学习JAVA] Stream流
  • 为什么Django能有效防御CSRF攻击?
  • 支持向量机(Support Vector Machine)基础知识2