web-dev-qa-db-fra.com

Comment créer un travail cron Java

J'écris une application autonome Java) pour lire les données de YouTube. Je souhaite configurer un travail cron pour effectuer certains travaux toutes les heures.

Je cherche et trouve des moyens de faire un travail cron pour les opérations de base mais pas pour une application Java.

31
user3138111

Vous pouvez utiliser TimerTask for 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");
   }

}

Alternative Vous pouvez également utiliser ScheduledExecutorService .

39
Indrajith

Premièrement, je vous recommanderais de toujours vous référer à docs avant de commencer une nouvelle chose.

Nous avons SchedulerFactory qui planifie le travail en fonction de l’expression Cron qui lui est donnée.

    //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");
        }

    }
6
Shoaib Chikate

Si vous utilisez unix, vous devez écrire un shellscript pour pouvoir exécuter votre Java batch en premier).

Après cela, sous Unix, vous exécutez cette commande "crontab -e "pour éditer le script crontab. Pour configurer crontab, référez-vous à cet article http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

Enregistrez votre paramètre de crontab. Ensuite, attendez le moment venu, le programme se lancera automatiquement.

3
Chi Nguyen