use*_*327 5 java spring quartz-scheduler
我是Quartz调度程序的新手,我正在使用Spring ...当我尝试运行包含Quartz配置的XML文件时,我得到一个例外,说明:
Failure obtaining db row lock: No row exists in table QRTZ_LOCKS for lock named:
TRIGGER_ACCESS
Run Code Online (Sandbox Code Playgroud)
我发现QRTZ_LOCKS表包含两个字段:SCHED_NAME和LOCK_NAME,我应该在我的数据库中运行以下语句:
INSERT INTO QRTZ_LOCKS values('my sched_name', 'TRIGGER_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','JOB_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','CALENDAR_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','STATE_ACCESS');
INSERT INTO QRTZ_LOCKS values('my sched_name','MISFIRE_ACCESS');
Run Code Online (Sandbox Code Playgroud)
但我不知道我的sched_name是什么?
任何的想法 ??
你只需要运行
INSERT INTO QRTZ_LOCKS values('TRIGGER_ACCESS');
INSERT INTO QRTZ_LOCKS values('JOB_ACCESS');
INSERT INTO QRTZ_LOCKS values('CALENDAR_ACCESS');
INSERT INTO QRTZ_LOCKS values('STATE_ACCESS');
INSERT INTO QRTZ_LOCKS values('MISFIRE_ACCESS');
Run Code Online (Sandbox Code Playgroud)
这实际上对我有用。至少停止了错误。
*my_sched_name* 可以从表qrtz_job_details(sched_name) 中检索。您的quartz配置/部署一定有问题,因为通常您不必手动插入/更新这些表。