Come disattivare tutti gli scheduler (@Schedule annotati) in un progetto di deploy su Glassfish 3.1
Forse ci sono alcune voci di configurazione per fare ciò?
Ho circa 20 EJB con scheduler nel mio progetto e se voglio testare/correggere una piccola cosa non voglio che tutto/alcuni inizi il timer.Disattivazione di tutte le pianificazioni in Glassfish 3.1
risposta
purtroppo non so se ci sono alcune voci di configurazione per risolvere il problema, ma c'è un modo per farlo programatical, chiamando il annullare() -Metodo su timer -Oggetti forniti da TimerService.
Ecco un esempio di una classe ho semplicemente messo in progetti quando voglio mettere alla prova solo piccole cose:
@Stateless
public class ScheduleCancellation {
@Resource
private TimerService timerService;
@Schedule(second = "0", minute = "*", hour = "*")
public void cancelTimers() {
System.out.println("cancelTimers()");
for (Timer timer : timerService.getTimers()) {
System.out.println("schedule gone!");
timer.cancel();
}
}
@Schedule(second = "*", minute = "*", hour = "*")
public void tick() {
System.out.println("tick");
}
}
Spero che questo aiuti! :)
Il metodo getTimer() restituisce solo i timer attivi associati a questo bean. Forse è possibile ottenere tutti i timer nel progetto e disattivarli? – alexblum
L'accesso a TimerService#getTimers()
restituirà solo i timer per questo particolare EJB. Non esiste un modo standard per accedere a tutti i timer nel contenitore (in realtà, ecco una richiesta di miglioramento: http://java.net/jira/browse/EJB_SPEC-47).
Immagino che avresti bisogno di usare una soluzione proprietaria di Glassfish e giocherellare con i loro interni (se è anche possibile). Lo chiederei su GlassFish mailing list se fossi in te.
- 1. Pianificazioni separate per le funzioni di webjob di Azure?
- 2. Disabilitazione del timer EJB (GlassFish 3.1, Java EE 6)
- 3. Come elencare tutte le voci JNDI in "java: global" namespace
- 4. Disattivazione temporanea di tutte le celle di input in una sezione di un notebook
- 5. Eclipse Kepler - Plugin Glassfish - impossibile avviare GF 3.1
- 6. Disattivazione dell'animazione in ViewPager
- 7. Come integrare OpenID in GlassFish?
- 8. Convalida tutte le celle in tutte le righe di SlickGrid
- 9. Arquillian con Glassfish V4
- 10. Glassfish 3 ha due configurazioni
- 11. Come caricare e archiviare le variabili globali in Jersey/Glassfish
- 12. Modificare le regole di confronto di tutte le colonne di tutte le tabelle in SQL Server
- 13. Disattivazione registrazione in paramiko
- 14. Disattivazione di alcuni aspetti durante le prove di unità unitarie
- 15. Disattivazione dell'animazione GIF in HTML
- 16. Disattivazione dell'autenticazione in MVC tramite web.config
- 17. Disattivazione di smistamento in DataTable non funzionante
- 18. GlassFish 3.1, come distribuire un EAR con un WAR nella root del server?
- 19. GlassFish 5.0 - Installazione non valida di GlassFish Server
- 20. Creazione dell'origine dati in Glassfish
- 21. Registrazione di glassfish
- 22. Come rimuovere tutte le associazioni di tasti di ricerca?
- 23. grep in tutte le directory
- 24. Eliminazione di tutte le risorse in GitLab
- 25. Acquisizione di tutte le eccezioni in Python
- 26. Eliminazione di tutte le pagine in mediawiki
- 27. enumerazione di tutte le partizioni in Mathematica
- 28. Attivazione/disattivazione del flash
- 29. Tutte le colonne in MongoDB
- 30. Disattivazione ngClick manipolazione in una direttiva personalizzato
L'annotazione '@ Schedule' non è stata aggiunta nell'EJB 3.1 (http://docs.oracle.com/javaee/6/api/javax/ejb/Schedule.html#persistent%28%29)? Stai usando EJB 3.1 o 3.0? –
Sto usando EJB 3.1 – alexblum