如何创建Java cron作业

我正在编写一个独立的批量Java应用程序来从YouTube读取数据。 我想建立一个cron工作,每小时做一些工作。

我搜索并找到了为基本操作而不是Java应用程序执行cron作业的方法。

你可以使用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"); } } 
  • 计时器

  • 的TimerTask

备选您还可以使用ScheduledExecutorService 。

首先,我建议您在开始新事物之前始终参考文档 。

我们有SchedulerFactory ,它根据给定的Cron Expression调度Job。

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

如果您使用的是unix,则需要先编写一个shellcript来运行java批处理。

之后,在unix中,运行此命令“ crontab -e ”来编辑crontab脚本。 要配置crontab,请参阅这篇文章http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

保存您的crontab设置。 然后等待时间到来,程序将自动运行。