| CODENOTIFIER | HelpYou are not signed inSign in |
Project: Quartz
Revision: 830
Author: jhouse
Date: 20 Aug 2008 17:24:51
Changes:QUARTZ-688: triggers firing early.
Files:| ... | ...@@ -255,7 +255,7 @@ | |
| 255 | 255 | } |
| 256 | 256 | |
| 257 | 257 | int availTreadCount = qsRsrcs.getThreadPool().blockForAvailableThreads(); |
| 258 | if(availTreadCount > 0) { | |
| 258 | if(availTreadCount > 0) { // will always be true, due to semantics of blockForAvailableThreads... | |
| 259 | 259 | |
| 260 | 260 | Trigger trigger = null; |
| 261 | 261 | |
| ... | ...@@ -286,7 +286,7 @@ | |
| 286 | 286 | now = System.currentTimeMillis(); |
| 287 | 287 | long triggerTime = trigger.getNextFireTime().getTime(); |
| 288 | 288 | long timeUntilTrigger = triggerTime - now; |
| 289 | if(timeUntilTrigger > 5) { | |
| 289 | while(timeUntilTrigger > 0) { | |
| 290 | 290 | synchronized(sigLock) { |
| 291 | 291 | try { |
| 292 | 292 | sigLock.wait(timeUntilTrigger); |
| ... | ...@@ -316,11 +316,15 @@ | |
| 316 | 316 | releaseTriggerRetryLoop(trigger); |
| 317 | 317 | } |
| 318 | 318 | trigger = null; |
| 319 | continue; | |
| 319 | break; | |
| 320 | 320 | } |
| 321 | 321 | } |
| 322 | 322 | } |
| 323 | now = System.currentTimeMillis(); | |
| 324 | timeUntilTrigger = triggerTime - now; | |
| 323 | 325 | } |
| 326 | if(trigger == null) | |
| 327 | continue; | |
| 324 | 328 | |
| 325 | 329 | // set trigger to 'executing' |
| 326 | 330 | TriggerFiredBundle bndle = null; |
| ... | ...@@ -467,7 +471,7 @@ | |
| 467 | 471 | if(earlier) { |
| 468 | 472 | // so the new time is considered earlier, but is it enough earlier? |
| 469 | 473 | long diff = System.currentTimeMillis() - oldTime; |
| 470 | if(diff < (qsRsrcs.getJobStore().supportsPersistence() ? 120L : 10L)) | |
| 474 | if(diff < (qsRsrcs.getJobStore().supportsPersistence() ? 90L : 7L)) | |
| 471 | 475 | earlier = false; |
| 472 | 476 | } |
| 473 | 477 |