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

- 日理万妓 2024-03-16 18:05 91阅读 0赞

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

添加Quartz依赖

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

  1. <dependency>
  2. <groupId>org.quartz-scheduler</groupId>
  3. <artifactId>quartz</artifactId>
  4. <version>2.3.2</version>
  5. </dependency>

编写任务类

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

  1. java
  2. public class MyJob implements Job {
  3. @Override
  4. public void execute(JobExecutionContext context) throws JobExecutionException {
  5. // 任务逻辑代码
  6. }
  7. }

编写任务调度类

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

  1. import org.quartz.*;
  2. import org.quartz.impl.StdSchedulerFactory;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Date;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. public class MyScheduler {
  9. public static void main(String[] args) throws ParseException, SchedulerException {
  10. // 创建调度器工厂
  11. SchedulerFactory schedulerFactory = new StdSchedulerFactory();
  12. // 创建调度器实例
  13. Scheduler scheduler = schedulerFactory.getScheduler();
  14. // 创建JobDetail实例,指定任务类和名称
  15. JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
  16. .withIdentity("myJob", "group1")
  17. .build();
  18. // 创建Trigger实例,指定触发器表达式和名称
  19. Trigger trigger = TriggerBuilder.newTrigger()
  20. .withIdentity("myTrigger", "group1")
  21. .withSchedule(CronScheduleBuilder.cronSchedule("0 0/10 * * * ?")) // 每10分钟执行一次
  22. .build();
  23. // 将JobDetail和Trigger绑定,并添加到调度器中
  24. scheduler.scheduleJob(jobDetail, trigger);
  25. // 启动调度器
  26. scheduler.start();
  27. }
  28. }

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

发表评论

表情:
评论列表 (有 0 条评论,91人围观)

还没有评论,来说两句吧...

相关阅读