Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java定时任务cron表达式

作者:翻成云恨雨愁   发布日期:2025-11-21   浏览:25

import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class CronExample {

    public static void main(String[] args) {
        try {
            // 创建调度器
            Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

            // 定义作业任务
            JobDetail job = JobBuilder.newJob(MyJob.class)
                    .withIdentity("myJob", "group1")
                    .build();

            // 定义触发器,使用Cron表达式
            Trigger trigger = TriggerBuilder.newTrigger()
                    .withIdentity("myTrigger", "group1")
                    .withSchedule(CronScheduleBuilder.cronSchedule("0 0/5 * * * ?")) // 每5分钟执行一次
                    .build();

            // 将作业和触发器注册到调度器中
            scheduler.scheduleJob(job, trigger);

            // 启动调度器
            scheduler.start();

        } catch (SchedulerException se) {
            se.printStackTrace();
        }
    }

    // 自定义作业类
    public static class MyJob {
        public MyJob() {
        }

        public void execute() {
            System.out.println("Hello Quartz!");
        }
    }
}

解释说明

  1. 引入Quartz库:此代码示例使用了Quartz库来实现定时任务。你需要在项目中添加Quartz依赖。

  2. 创建调度器:通过StdSchedulerFactory.getDefaultScheduler()获取一个调度器实例。

  3. 定义作业任务:使用JobBuilder.newJob()创建一个新的作业任务,并指定作业类为MyJob

  4. 定义触发器:使用TriggerBuilder.newTrigger()创建一个新的触发器,并通过CronScheduleBuilder.cronSchedule()指定Cron表达式。这里的Cron表达式"0 0/5 * * * ?"表示每5分钟执行一次任务。

  5. 注册作业和触发器:通过scheduler.scheduleJob(job, trigger)将作业和触发器注册到调度器中。

  6. 启动调度器:调用scheduler.start()启动调度器,开始执行定时任务。

  7. 自定义作业类MyJob类是自定义的作业类,实现了具体的业务逻辑。在这个例子中,它只是简单地打印一条消息。

如果你需要更详细的解释或其他帮助,请告诉我!

上一篇:创造指令java

下一篇:java record关键字

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站