java中cron表达式 每10分钟执行一次

246 阅读1分钟

在Java中,可以使用Quartz框架来定义和调度任务,包括使用Cron表达式来定义任务的执行时间。下面是一个使用Quartz框架实现每10分钟执行一次任务的示例:

添加Quartz依赖

在Maven项目中,添加以下依赖到pom.xml文件中:

<dependency>    <groupId>org.quartz-scheduler</groupId>    <artifactId>quartz</artifactId>    <version>2.3.2</version></dependency>

编写任务类

创建一个Java类,实现Quartz的Job接口,并重写execute方法,例如:

javapublic class MyJob implements Job {    @Override    public void execute(JobExecutionContext context) throws JobExecutionException {        // 任务逻辑代码    }}

编写任务调度类

创建一个Java类,使用Quartz的JobDetail和Trigger类来定义任务和触发器,例如:

import org.quartz.*;import org.quartz.impl.StdSchedulerFactory;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;public class MyScheduler {    public static void main(String[] args) throws ParseException, SchedulerException {        // 创建调度器工厂        SchedulerFactory schedulerFactory = new StdSchedulerFactory();        // 创建调度器实例        Scheduler scheduler = schedulerFactory.getScheduler();        // 创建JobDetail实例,指定任务类和名称        JobDetail jobDetail = JobBuilder.newJob(MyJob.class)                .withIdentity("myJob", "group1")                .build();        // 创建Trigger实例,指定触发器表达式和名称        Trigger trigger = TriggerBuilder.newTrigger()                .withIdentity("myTrigger", "group1")                .withSchedule(CronScheduleBuilder.cronSchedule("0 0/10 * * * ?")) // 每10分钟执行一次                .build();        // 将JobDetail和Trigger绑定,并添加到调度器中        scheduler.scheduleJob(jobDetail, trigger);        // 启动调度器        scheduler.start();    }}

在上述代码中,使用CronScheduleBuilder的cronSchedule方法来创建一个每10分钟执行一次的Cron表达式。然后,将JobDetail和Trigger绑定,并添加到调度器中。最后,启动调度器即可。