What happens to jobs affected by Quartz DisallowConcurrentExecution

£可爱£侵袭症+ 提交于 2019-12-12 09:44:49

问题


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.


回答1:


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.




回答2:


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.



来源:https://stackoverflow.com/questions/5835109/what-happens-to-jobs-affected-by-quartz-disallowconcurrentexecution

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!