rediVider
rediVider

Reputation: 1307

What happens to jobs affected by Quartz DisallowConcurrentExecution

What happens when a job does not run because of the disallow annotation.

Is it queued to run after the currently running instance dies? Is that duplicate "run" of it just thrown away, never to be heard from again?

I've tried testing in code, but my inexperience with the language and library is causing some difficulty.

Upvotes: 6

Views: 2594

Answers (2)

jhouse
jhouse

Reputation: 2692

The additional firings are just delayed (as if no worker thread is available to run them) until the first instance completes. If that causes the next fire time to be missed by more than the scheduler's configured misfire threshold, then the misfire instruction will be applied to the trigger that was blocked.

Upvotes: 10

Kal
Kal

Reputation: 24910

I'm not exactly sure -- but I think this is equivalent to setting the "synchronized" keyword, which means, the duplicate run will happen after the current running instance dies.

Upvotes: 0

Related Questions