首页 文章

我正在尝试编写cron作业,必须每月执行我已经尝试但我的代码只工作分钟/小时而不是月份

提问于
浏览
-1

public static void main(String [] args)throws 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?”)) . build( ); 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(“Job scheduled ...................”);

}
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(“************************************* ************************************************** “); System.out.println(“插入记录”);的System.out.println(“******** **************“); System.out.println(“作业执行完成 - ”calendar.getTime()); }}

Console OutPut:创建作业....................触发器创建................. getCronExpression()= 0 50 3 4 *? 219 [main] INFO org.quartz.impl.StdSchedulerFactory - 使用ThreadExecutor的默认实现234 [main] INFO org.quartz.simpl.SimpleThreadPool - 作业执行线程将使用线程的类加载器:main 313 [main] INFO org.quartz .core.SchedulerSignalerImpl - 初始化的调度程序Signaller类型:class org.quartz.core.SchedulerSignalerImpl 313 [main] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.1.7 created . 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包中的默认资源文件初始化的Quartz调度程序'DefaultQuartzScheduler':'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

    @monthly 每月一次,1日上午12点开始工作 . 在标准cron语法中,这相当于:0 0 1 * * .

相关问题