quartz 调度启动失败,with (updlock,rowlock)

原因是driverDelegateClass配置错误。

org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=qrtz_
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.acquireTriggersWithinLock=true
org.quartz.jobStore.clusterCheckinInterval=30000

将driverDelegateClass改成如下
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate

博主使用的数据库是Mysql,按理说driverDelegateClass配置成“org.quartz.impl.jdbcjobstore.MSSQLDelegate”应该是没错的。
但是使用MSSQLDelegate生成的SQL如下:
SELECT * FROM qrtz_LOCKS WITH (UPDLOCK,ROWLOCK) WHERE SCHED_NAME = 'quartzScheduler' AND LOCK_NAME = 'TRIGGER_ACCESS';

mysql中并不是使用WITH(UPDLOCK,ROWLOCK)作为行锁方式。
posted @ 2017-03-29 16:45  旋转的梦  阅读(3456)  评论(0编辑  收藏  举报