Table of Contents

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 = 2

Leave a pending trigger alone and store nothing: an idempotent enqueue, "make sure this is scheduled".

KeepEarlier = 3

Keep 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 = 1

Store 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 = 0

Refuse: 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.

See Also