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)作为行锁方式。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM