Estoy construyendo una aplicación de estadísticas para un juego en línea, construida usando la API de servlet en Java (para implementar en Tomcat). Es bastante fácil dejar que el juego envíe un mensaje al servidor de estadísticas cada vez que un usuario inicia sesión, porque las solicitudes de manejo son para lo que Servlets/Tomcat son.Tarea programada en una aplicación web?
También necesito iniciar periódicamente solicitudes en el servidor de estadísticas, por ejemplo para recuperar la cantidad de usuarios en línea del servidor del juego o la cantidad de fanáticos de nuestra página de Facebook.
Sería fácil simplemente iniciar un subproceso en el servlet principal de la aplicación y dejar que realice la recuperación de datos de vez en cuando, pero se siente un poco extraño porque el resto de los subprocesos son creados por Tomcat.
- Lo está haciendo así ok?
- Si no, ¿cuál es la forma recomendada de hacerlo?
- ¿Es correcto usar servlets para algo como esto? ¿Cuál es la alternativa?
Nota después de las primeras respuestas: No estoy buscando una solución al problema del tiempo o concurrencia, porque puedo manejar ambos fácilmente. Solo necesito saber cómo iniciar correctamente un proceso proactivo en un contenedor de servlets.
Gracias, pero los problemas específicos de tiempo no son lo que tengo que tratar. A juzgar por un tutorial sobre Quartz + Tomcat, todavía necesita iniciar y detener Quartz de una manera equivalente a cómo comenzaría mi propio hilo. –
No estoy seguro de qué tutorial estás mirando, pero normalmente querrías iniciarlo automáticamente con la configuración y no depender de las dependencias de tiempo de ejecución para esto, es mucho más limpio. Quizás esto es lo que estás buscando. – vaskin