Enum TriggerConflict
- Namespace
- Quartz
- Assembly
- Quartz.dll
What becomes of a trigger already stored under the key of one being scheduled.
public enum TriggerConflict
Fields
Keep = 2Leave a pending trigger alone and store nothing: an idempotent enqueue, "make sure this is scheduled".
KeepEarlier = 3Keep whichever of the two fires first: the new trigger replaces a pending one only when it fires strictly earlier. A debounce with a deadline that can only move closer.
Replace = 1Store the new trigger over the existing one. Scheduling the same key again with a later time is a debounce: only the last call fires.
Throw = 0Refuse: throw ObjectAlreadyExistsException and store nothing. The default, and what scheduling has always done.
Remarks
The store decides under its own lock, so two callers scheduling the same key at once cannot both win: exactly one trigger is stored, and each caller is told which.
Keep and KeepEarlier keep only a pending trigger — one with a fire time still ahead of it, paused or not. A one-shot trigger whose firing has already begun has none, so the new trigger is stored over it, as Replace would.