Sto provando a chiamare un metodo quando inizia la mia applicazione web. Lo scopo è quello di avviare un timer che funziona a intervalli definiti. come chiamo una funzione helloworld all'avvio dell'applicazione jboss 7.1 web?metodo di chiamata all'avvio del server
risposta
altri poi ContextListeners, si può anche avere un servlet in web.xml carico all'avvio:
<servlet>
<servlet-name>mytask</servlet-name>
<servlet-class>servlets.MyTaskServlet</servlet-class>
...
<load-on-startup>1</load-on-startup>
</servlet>
Questo servlet può iniziare la vostra attività utilizzando qualsiasi mezzo che si desidera, si veda ad esempio questo link.
Ma non dovresti usare questo approccio, imho.
Utilizzare un framework provato/lib come quartz o uno strumento simile. Ci sono un sacco di problemi/problemi nell'esecuzione e nella sincronizzazione delle attività nei server Web ed è meglio utilizzare uno strumento collaudato piuttosto che ripetere gli errori che questi strumenti hanno già incontrato e risolto. Potrebbe volerci un po 'di tempo per cogliere ma eviterà molti mal di testa.
Jboss stesso ha alcuni strumenti a tale scopo: pianificazione e gestione delle attività. Mai usato così non posso raccomandare.
Utilizzare un ServletContextListener
configurato nel proprio web.xml
. Scrivi il codice che avvia il timer nel metodo contextInitialized
.
Check out Quartz Scheduler. È possibile utilizzare un CronTrigger per sparare a intervalli definiti. Per esempio, ogni 5 minuti sarebbe simile a questa:
"0 0/5 * * * ?"
L'idea è quella di implementare l'interfaccia Job
, che è il compito di eseguire, pianificare usando il SchedulerFactory
/Scheduler
, costruire l'inizio Job
e CronTrigger
e esso.
C'è un esempio molto chiaro here.
Se si desidera eseguire del codice prima che l'app Web soddisfi i propri client, è necessario un ServletContextListener.
Creare la classe ascoltatore
import javax.servlet.*;
public class MyServletContextListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent e) {
//Call your function from the event object here
}
public void contextDestroyed(ServletContextEvent e) {
}
}
Mettere la classe in WEB-INF/classes
Mettere un < ascoltatore> elemento nel file web.xml.
<listener>
<listener-class>
com.test.MyServletContextListener
</listener-class>
</listener>
Spero che questo aiuti.
- 1. Rails: metodo di chiamata all'interno del modello
- 2. Metodo di chiamata base all'inizio o alla fine del metodo?
- 3. Come trovare il metodo FULL del metodo di chiamata C#
- 4. Porta di chiamata del metodo remoto in uso
- 5. Metodo di chiamata in JPA
- 6. metodo di chiamata e disegnare
- 7. react: chiamata del metodo del componente figlio dal componente principale
- 8. timeout una chiamata di metodo
- 9. Metodo di chiamata dal costruttore
- 10. Gerarchia di chiamata metodo ruby
- 11. metodo di chiamata in Xcode
- 12. Metodo di chiamata React-bootstrap del componente esterno
- 13. Utilizzo di easymock, chiamata con metodo del vuoto ripetuto
- 14. nome di chiamata del metodo contenuto in una stringa
- 15. Sintassi del punto interrogativo sul metodo di chiamata
- 16. Metodo PHP più veloce di lettura della risposta del server
- 17. Chiamata metodo base forza
- 18. JNI, chiamata metodo booleano
- 19. impossibile comportamento chiamata metodo Java
- 20. ContextNotActiveException durante la chiamata al metodo @Asynchronous del bean @Stateless
- 21. Chiamata al metodo funzionale all'interno di una chiamata del modulo funzione, perché solo con EXPORTING?
- 22. Metodo CallDelegate chiamata dalla classe
- 23. Chiamata al metodo di sincronizzazione chiamata da richiamata asincrona?
- 24. Metodo di chiamata all'interno di un altro metodo in javascript?
- 25. Metodo di chiamata da altro metodo all'interno di Ember Service
- 26. Metodo di chiamata Android da un'altra app
- 27. Metodo di chiamata Python in classe
- 28. Mocking generico di una chiamata di metodo
- 29. chiamata metodo di classe Super automaticamente
- 30. Risoluzione del problema "Chiamata metodo virtuale in costruttore"
posso aggiungere il codice di avvio del server HTTP all'interno del contestoModo inizializzato – Hema