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_");
注:达梦数据库我也是初次使用,文中如有问题,欢迎指正。