9

Quartz Scheduler v.1.8.0 を使用しています。

Job に割り当て/アタッチされ、 CronTriggerを使用してスケジュールされた cron 式を取得するにはどうすればよいですか? この場合、ジョブ名とグループ名があります。多くのトリガーが同じジョブを指すことができますが、私の場合は 1 つだけです。

Scheduler クラスで利用可能なメソッドScheduler.getTriggersOfJob(jobName, groupName)がありますが、 Trigger配列のみを返します。

cron式の例:0 /5 10-20 * * ?

注:クラスCronTriggerTriggerを拡張します

4

1 に答える 1

20

Scheduler.getTriggerOfJob を使用できます。このクラスは、指定された jobName および groupName のすべてのトリガーを Trigger[] で返します。

次に、この配列の内容を分析し、Trigger が CronTrigger であるかどうかをテストし、それをキャストして CronTrigger インスタンスを取得します。次に、getCronExpression() メソッドは、探しているものを返す必要があります。

コードサンプルは次のとおりです。

Trigger[] triggers = // ... (getTriggersOfJob)
for (Trigger trigger : triggers) {
    if (trigger instanceof CronTrigger) {
        CronTrigger cronTrigger = (CronTrigger) trigger;
        String cronExpr = cronTrigger.getCronExpression();
    }
}
于 2010-09-04T09:12:48.610 に答える