2

Quartz 1.0.x では可能だったので、トリガーに MisfireInstruction を設定するだけで設定できます。

trigger.MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;

trigger.MisfireInstructionQuartz のバージョンを 2.3.2 にアップグレードしましたが、setter がなくなったため、このように設定することはできなくなりました。

トリガーに MisfireInstruction を設定するにはどうすればよいですか?

次のような TriggerBuilder でトリガーを再作成しようとしました。

trigger = trigger.GetTriggerBuilder()...

しかし、TriggerBuilder でも MisfireInstruction-Method が見つかりませんでした。

助けてくれてありがとう

4

1 に答える 1

5

この動作はバージョン 2 で変更されたと思います。は読み取り専用プロパティになり、コードベース
MisfireInstructionでわかるようにビルダーを使用して設定されます。

MisfireInstructionこれで、を使用して を設定できますTriggerBuilder

ITrigger myTrigger = TriggerBuilder
    .Create()
    .WithIdentity("trigger1", "myGroup")
    .WithCronSchedule("0 0 12 1/5 * ? *", x => x.WithMisfireHandlingInstructionDoNothing())
    .Build();

いくつかのオプションを使用できます。

次のオプションを使用できます。

  • WithMisfireHandlingInstructionDoNothing
  • WithMisfireHandlingInstructionFireAndProceed
  • WithMisfireHandlingInstructionIgnoreMisfires

適切な説明を含む非常に優れた記事は、ここにあります。

于 2015-07-08T09:13:12.737 に答える