2012-11-12 9 views
5

Quartzスケジューラーを初めて使用しています。私はそれをSpringで使用しています... Quartzコンフィギュレーションを含むXMLファイルを実行しようとしました私はそれを述べる例外が発生しました:「dbローロックを取得できません:QRTZ_LOCKSテーブルに行がありません:TRIGGER_ACCESS

​​

が、私はドン:SCHED_NAMEとLOCK_NAMEと私は私のデータベースに次のステートメントを実行する必要があり、その:

Failure obtaining db row lock: No row exists in table QRTZ_LOCKS for lock named: 
TRIGGER_ACCESS 

私はテーブルQRTZ_LOCKSは、2つのフィールドが含まれていることがわかりました私のsched_nameは何ですか?

+0

クォーツバージョンを提供してください。 – willome

答えて

1

* my_sched_name *はテーブルqrtz_job_details(sched_name)から取得できます。 通常、手動でこれらのテーブルを挿入/更新する必要がないので、石英設定/配備に問題があります。

+0

ありがとう、しかし私はそれを私と比較することができますので、クォーツの構成上の作業例がありますか? – user1802327

+0

あなたは春を使うかどうかによってそれに依存します... – willome

+0

はい、私は春を使用しています – user1802327

4

あなたは実際に私のために働い

 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'); 

を実行する必要があります。少なくともエラーを停止しました。

2

これは、Quartzの新しいバージョンからテーブルスクリプトを入手してアプリケーションに適用している可能性が高いためです。

Springを使用している場合は、Quartz 1.8.xが必要です。

This is where you can find version 1.8.6

注:そのtar.gzファイル内には拡張子を除いた他のファイルがあります。これはdocという名前のフォルダを含むzipファイルです。そこには、いくつかのデータベースエンジン用のスクリプトがあります。

データを手動で変更する必要はありません。

関連する問題