periodicity - quartz java
Cómo crear un trabajo cron de Java (3)
Esta pregunta es un duplicado exacto de:
- Cómo ejecutar un programa Java bajo cron e importar las respuestas de jars 3
Estoy escribiendo una aplicación Java de lote independiente para leer datos de YouTube. Quiero configurar un trabajo cron para hacer cierto trabajo cada hora.
Busqué y encontré formas de hacer un trabajo cron para operaciones básicas pero no para una aplicación Java.
Primero recomendaría que siempre remita docs antes de comenzar algo nuevo.
Tenemos SchedulerFactory
que programa el trabajo según la expresión cronológica que se le ha dado.
//Create instance of factory
SchedulerFactory schedulerFactory=new StdSchedulerFactory();
//Get schedular
Scheduler scheduler= schedulerFactory.getScheduler();
//Create JobDetail object specifying which Job you want to execute
JobDetail jobDetail=new JobDetail("myJobClass","myJob1",MyJob.class);
//Associate Trigger to the Job
CronTrigger trigger=new CronTrigger("cronTrigger","myJob1","0 0/1 * * * ?");
//Pass JobDetail and trigger dependencies to schedular
scheduler.scheduleJob(jobDetail,trigger);
//Start schedular
scheduler.start();
MyJob.class
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("My Logic");
}
}
Puedes usar TimerTask para Cronjobs.
Main.java
public class Main{
public static void main(String[] args){
Timer t = new Timer();
MyTask mTask = new MyTask();
// This task is scheduled to run every 10 seconds
t.scheduleAtFixedRate(mTask, 0, 10000);
}
}
MyTask.java
class MyTask extends TimerTask{
public MyTask(){
//Some stuffs
}
@Override
public void run() {
System.out.println("Hi see you after 10 seconds");
}
}
Alternativa También puede utilizar ScheduledExecutorService .
Si está utilizando Unix, primero debe escribir un shellscript para ejecutar su lote Java.
Después de eso, en unix, ejecuta este comando " crontab -e
" para editar el script crontab. Para configurar crontab, consulte este artículo http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
Guarda tu configuración de crontab. Luego espere a que llegue el momento, el programa se ejecutará automáticamente.