我正在尝试写一个必须每月执行的cron工作我曾经尝试但是我的代码只工作分钟/小时而不是一个月

时间:2016-05-05 11:55:36

标签: cron

public static void main(String [] args)抛出SchedulerException     {//使用Quartz配置作业。 JobDetail job = JobBuilder.newJob(TriggerJob.class).withIdentity(" testJob")。build(); System.out.println(" Job created ...................."); //指定作业的运行周期 CronTrigger trigger = TriggerBuilder.newTrigger()。withIdentity(" triggerName"," groupName")。withSchedule(CronScheduleBuilder.cronSchedule(" 0 51 4 5 1/1?&# 34))建立(); System.out.println(" getCronExpression()=" + trigger.getCronExpression());         // CronScheduleBuilder.dailyAtHourAndMinute(3,30))         System.out.println(" Trigger created .................");         SchedulerFactory scheduler = new StdSchedulerFactory();         调度程序sched = scheduler.getScheduler();         sched.start();         sched.scheduleJob(作业,触发);         sched.shutdown();         System.out.println("作业安排...................");

}
public class TriggerJob implements Job

{     public void execute(JobExecutionContext arg0)抛出JobExecutionException     {        JobKey jobKey = arg0.getJobDetail()。getKey();        System.out.println(" jobKey =" + jobKey.toString());         日历日历= Calendar.getInstance();         //每天调用一次EHCache加载机制。         System.out.println("作业执行开始于 - " + calendar.getTime());         //写你的逻辑         的System.out.println(" ******* *********&# 34);         System.out.println(" Insert Records");         的System.out.println(" ******* *********&# 34);         System.out.println("作业执行完成于 - " + calendar.getTime());     } }

控制台OutPut: 创造了工作.................... 触发创建................. getCronExpression()= 0 50 3 4 *? 219 [main] INFO org.quartz.impl.StdSchedulerFactory - 使用ThreadExecutor的默认实现 234 [main] INFO org.quartz.simpl.SimpleThreadPool - 作业执行线程将使用thread的类加载器:main 313 [main] INFO org.quartz.core.SchedulerSignalerImpl - 类型为:class org.quartz.core.SchedulerSignalerImpl的Initialized Scheduler Signaller 313 [main] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.1.7创建。 329 [main] INFO org.quartz.simpl.RAMJobStore - 已初始化RAMJobStore。 329 [main] INFO org.quartz.core.QuartzScheduler - 调度程序元数据:Quartz Scheduler(v2.1.7)' DefaultQuartzScheduler'使用instanceId' NON_CLUSTERED'   调度程序类:' org.quartz.core.QuartzScheduler' - 在当地运行。   没有开始。   目前处于待机模式。   执行的作业数:0   使用线程池' org.quartz.simpl.SimpleThreadPool' - 有10个线程。   使用job-store' org.quartz.simpl.RAMJobStore' - 不支持持久性。而且没有聚集。

329 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler' DefaultQuartzScheduler'从Quartz包中的默认资源文件初始化:' quartz.properties' 329 [main] INFO org.quartz.impl.StdSchedulerFactory - Quartz调度程序版本:2.1.7 329 [main] INFO org.quartz.core.QuartzScheduler - 调度程序DefaultQuartzScheduler _ $ _ NON_CLUSTERED启动。 工作安排...................

1 个答案:

答案 0 :(得分:0)

@monthly 每月一次,即1日上午12:00运行工作。在标准cron语法中,这相当于:0 0 1 * *。