若依二开问题-代码生成模块在项目重构之后报出DataSource health check failedcom.baomidou.dynamic.datasource.exception.Canno

阿丹:

        再对于若依系统的gen代码生成模块进行二次开发(项目重构之后)出现如下报错。

问题原因:

        系统在加载的时候找不到数据源,大概率是线上配置nacos中的问题。

检查nacos发现已经配置数据源。但是发现问题:

 

 通过对比报错信息发现问题,我的配置文件中并没有这个dynamic-datasource

解决方案:

        在system的配置文件中找到了如下配置有关 dynamic-datasource

解决方案:

        在gen的配置中添加上了对应报错的配置,如上图所示成功启动。

配置文件提供:

datasource:
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
    dynamic:
      druid:
        initial-size: 5
        min-idle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        maxPoolPreparedStatementPerConnectionSize: 20
        filters: stat,slf4j
        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
      datasource:
          # 主库数据源
          master:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://XXXXXXXXX:3306/ad-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            username: root
            password: 
          # 从库数据源
          # slave:
            # username: 
            # password: 
            # url: 
            # driver-class-name: 
      # seata: true    # 开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭

解决原因是:

        刚开始的配置文件中配置了datasource,但可能是由于配置不完整或者错误导致了报错。修复时,添加了druid连接池相关的配置,同时将datasource配置转移到了dynamic节点下,并指定了master数据源的驱动类、url、用户名密码等信息。

        请注意在配置datasource时要按照要求正确的设置参数。同时,连接池配置是一个比较常用的优化方式,推荐使用连接池来管理数据库连接资源,提升系统的性能

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值