Java Scheduler
Hola Amigos, soy nuevo en esta pagina, les tengo una pregunta a ver si alguien me puede ayudar..
La question es que quiero hacer un scheduler para agendar jobs que ejercutaran queries a "X" base de datos, he empezado ver quartz , que opinian creen que sea buen API para mi requerimiento o hay alguno otro que deberia revisar la idea es :
Que un usuario llene unos campos como el cron expression, query username y password se hara una extracion de los registros y se creara un archivo, y se mandare por email el resultdo de su queries, pero quiero ser capaz de monitorear la JVM porque si varios Job estan corriendo al mismo tiempo se pueden terminar el heap de la JVM, tener la habilidad de terminarlos y monitorealos
Espero sus opiniones de antemano gracias
- Inicie sesión o regístrese para enviar comentarios
Si lo que buscas es algo
Si lo que buscas es algo sencillo, esto lo puedes lograr muy fácilmente con Spring Boot y la anotación @Scheduled:
Sobre esa misma app puedes integrarle Spring Batch, también de manera sencilla:
Saludos.
Cuidado con QUARTZ
Hace poco utilizamos Quartz para una solución de ejecución cada X tiempo, y como solución sólo nos funciono un tiempo de manera estable, pero notamos que los hilos que crea no los mata el GC (Garbage Colector), y esto en poco tiempo va a terminar como tu dices, consumiendo toda la memoria heap y dejará de responder en cualquier momento, lo que utilizamos como solución fué crear hilos que pudieran reutilizarse o destruirse de manera segura, e implementamos expresiones propias por ejemplo 1h ó 3m que significa que se repite cada hora o 3 minutos.
Duda
Por qué tienes la necesidad de hacer las peticiones a X base en tiempos espaciados? Quizás exista una forma mas simple de hacer esto.