Spring Boot Quartz集成(一)

本文介绍如何在Spring Boot中使用Quartz实现定时任务。主要内容包括创建Spring Boot工程、引入依赖包、配置Quartz、创建Job类及任务类,并最终运行Spring Boot应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建一个spring Boot 工程;spring-boot-quartz

2.引入关联包

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>4.3.9.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>4.3.9.RELEASE</version>
		</dependency>

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

3.创建Quartz配置类:QuartzConfiguare

/**
*quartz配置类
*1.创建 SchedulerFactoryBean 
*2.创建 Scheduler 
*/
@Configuration //必须
public class QuartzConfig {


    @Bean
    public SchedulerFactoryBean  schedulerFactoryBean(){
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
        return   schedulerFactoryBean;
    }
    @Bean
    public Scheduler scheduler(){
        return  schedulerFactoryBean().getScheduler();
    }
}

4.创建Job类;并实现Job接口

public class MyJob implements Job{
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("this is a Job "+new Date());
    }
}

5.创建任务类Task;包含:JobDetail、SimpleScheduleBuilder、Trigger、Scheduler

@Service // 通过spring事务来管理任务类,自动扫描实例化
public class MyTask {
    @Autowired
    private Scheduler scheduler;


    @PostConstruct // 相当于init-method
    public void init(){
        //jobDetail
        JobDetail jobDetail = JobBuilder.newJob(MyJob.class).withIdentity("myJob","group1").build();
//定义每两秒执行一次,执行到永远
       SimpleScheduleBuilder simpleScheduleBuilder =SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever();
        //trigger
        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("myTrigger","group2").startNow().withSchedule(simpleScheduleBuilder).build();

        try {
            scheduler.scheduleJob(jobDetail,trigger);
        } catch (SchedulerException e) {
            e.printStackTrace();
        }
    }

}

6.最后执行SpringBoot运行类

转载于:https://my.oschina.net/u/2251646/blog/1512229

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值