1、背景

近期项目中需要使用达梦数据库,现将mysql数据库切换为达梦数据库,其中兼容Quartz定时框架报错如下:

2、解决方案

2.1 起初配置完:达梦数据库驱动直接启动项目直接报错,

后面在yml中配置数据库表名前缀:tablePrefix: database.QRTZ_ 。还是不行。

    quartz:
    #quartz相关属性配置
    org:
      quartz:
        scheduler:
          instanceName: DefaultQuartzScheduler #调度器的实例名
          instanceId: AUTO #调度器编号自动生成
        jobStore:
          class: org.quartz.impl.jdbcjobstore.JobStoreTX
          driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
          tablePrefix: database.QRTZ_  #数据库表名前缀
          isClustered: true #开启分布式部署
          clusterCheckinInterval: 10000 #分布式节点有效性检查时间间隔,单位:秒
          useProperties: false #是否读取自己写的配置文件
          dataSource: qzds
        dataSource:
          qzds:
            driver: dm.jdbc.driver.DmDriver #达梦数据库驱动
            url: jdbc:dm://localhost:5236/database?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&clobAsString=true
            user: root
            password: password
            validationQuery: select 0 from dual

2.2 然后在 SchedulerConfig中配置数据库表名前缀,最后项目成功跑起来了,亲测有效。

roperties.put("org.quartz.jobStore.tablePrefix", "database.QRTZ_");

注:达梦数据库我也是初次使用,文中如有问题,欢迎指正。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐