java定时器创建

文章介绍了两种在Spring环境中配置Quartz定时任务的方法。一种是使用非注解方式,通过扩展QuartzJobBean创建工作任务,然后定义工作明细和触发器。另一种是启用Spring的@Scheduled注解,直接在方法上指定cron表达式来触发任务执行。
摘要由CSDN通过智能技术生成

方式1:非注解方式

1)创建工作任务

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class MyQuartz extends QuartzJobBean {

    //工作任务
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("myQuartz is running");
    }
}

2)创建工作明细,工作明细中绑定具体的工作任务。

3)创建触发器,指定工作任务的执行间隔的调度器。绑定工作明细、调度器

import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class quartzConfig {


    //1、工作明细
    @Bean
    public JobDetail getJobDetail(){
        //在工作明细中绑定工作
        return JobBuilder.newJob(MyQuartz.class).storeDurably().build();
    }

    //2、触发器
    @Bean
    public Trigger getTrigger(){
        //3、使用Cron表达式创建调度器
        // 0/5 * * * * ? ===> 0秒开始每5秒执行一次 任意分、时、日、月下
        ScheduleBuilder<? extends Trigger> schedBuilder=
                CronScheduleBuilder.cronSchedule("0/5 * * * * ?");
        return TriggerBuilder.newTrigger()
                //绑定工作明细
                .forJob(getJobDetail())
                //绑定调度器
                .withSchedule(schedBuilder).build();
    }
}

方式2:注解方式

1)开启定时任务处理器

@SpringBootApplication
//开启定时任务开关
@EnableScheduling
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

2)指定触发时机

@Component
public class Quartz {

    //使用定时任务
    @Scheduled(cron = "0/2 * * * * ?")
    public void printQuartz(){
        System.out.println(Thread.currentThread().getName()+"quartz is running");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值