Ricordo che non possiamo uccidere il Quartz Job corrente ma possiamo interrompere e fare un controllo booleano ovunque sia necessario se dobbiamo procedere ulteriormente con le operazioni successive o meno.È possibile uccidere un lavoro al quarzo in corso?
Anche quando implementiamo InterruptableJob e chiamiamo lo scheduler.interrupt per interrompere il lavoro, il lavoro attualmente eseguito sarà ancora in esecuzione nel server.
Es:
- Una query SQL di nome è stato innescato dal lavoro tramite Hibernate, che richiede molto tempo
- Una chiamata è stata fatta a un server di terze parti in cui il server di terze parti richiede molto tempo di rispondere
http://neopatel.blogspot.in/2011/05/quartz-stop-job.html http://forums.terracotta.org/forums/posts/list/3191.page
Qualcuno potrebbe correggere la mia comprensione e spiegarmi come possiamo uccidere o fermare il lavoro "attualmente" in esecuzione?
Grazie, Kathir
Sono d'accordo sul fatto che non possiamo brutalmente uccidere un lavoro in Quarzo né in JAVA. Inoltre, accetta che possiamo ottenere lo stesso tramite ExecutorService. Per mia curiosità, solleva ancora una domanda perché Quartz non ha implementato ExecutorService in modo che possano fornirci un modo per uccidere il lavoro? Oppure c'è un piano futuro nei miglioramenti al quarzo. Grazie per i chiarimenti e per favore fatemi sapere le vostre opinioni. – Kathir
Perché non implementare è probabilmente perché è stato progettato per fornire un'alternativa a questa mancanza nella jvm. Funziona con vecchi jvms e se implementano ExecutorService, il quarzo sarà collegato con un recente progetto jvm e force per migrare – poussma
Probabilmente possono fornire un supporto aggiuntivo o esteso tramite una configurazione. In questo modo possono ottenere la compatibilità verso il basso e il nuovo ... mi manca qualcosa? .. Comunque grazie per il tuo tempo e la spiegazione ... – Kathir