ZBLOG

springboot中如何使用quartz

在Spring Boot中使用Quartz可以分为以下几个步骤:

  1. 添加依赖

在pom.xml文件中添加Quartz的依赖:

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>${quartz.version}</version>
</dependency>
  1. 创建Job类

创建一个实现了org.quartz.Job接口的Job类,例如:

public class MyJob implements Job {

    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        // TODO: 执行任务逻辑
    }
}
  1. 创建Trigger

创建一个Trigger对象来定义Job的执行计划,例如:

// 每5秒钟执行一次任务
Trigger trigger = TriggerBuilder.newTrigger()
        .withIdentity("myTrigger", "group1")
        .startNow()
        .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                .withIntervalInSeconds(5)
                .repeatForever())
        .build();
  1. 创建SchedulerFactory和Scheduler

创建一个SchedulerFactory对象,并通过它来创建一个Scheduler对象,例如:

// 创建scheduler factory和scheduler
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
  1. 注册Job和Trigger到Scheduler中

将上面创建好的Job和Trigger注册到Scheduler中,例如:

// 将job和trigger注册到scheduler中
scheduler.scheduleJob(
        JobBuilder.newJob(MyJob.class)
                .withIdentity("myJob", "group1")
                .build(),
        trigger);
  1. 启动Scheduler

调用scheduler.start()方法启动Scheduler,例如:

// 启动scheduler
scheduler.start();

完整示例代码:

public class MyQuartzApp {

    public static void main(String[] args) throws SchedulerException {
        // 创建job和trigger
        JobDetail job = JobBuilder.newJob(MyJob.class)
                .withIdentity("myJob", "group1")
                .build();

        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("myTrigger", "group1")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(5)
                        .repeatForever())
                .build();

        // 创建scheduler factory和scheduler
        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        Scheduler scheduler = schedulerFactory.getScheduler();

        // 将job和trigger注册到scheduler中
        scheduler.scheduleJob(job, trigger);

        // 启动scheduler
        scheduler.start();
    }
}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=5491

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?