springboot quartz 只执行一次_使用Quartz创建一个定时任务

本文介绍了在SpringBoot中使用Quartz创建一次性定时任务的步骤,包括引入Maven依赖、创建任务类和配置类。通过简单配置,可以实现项目启动时自动执行的定时任务。此外,文章还探讨了Quartz的启动流程,包括SchedulerFactory、Scheduler、Trigger、JobDetail和Job的关系,并简要分析了SpringBoot加载Quartz的机制。
摘要由CSDN通过智能技术生成

最近在工作中需要创建一些定时任务来处理业务,用到了定时调度工具-Quartz。于是班长我决定先行学习一番,并记录一下。

目录

 1  快速开发一个定时任务

 2  Quartz任务启动流程分析

     2.1 SpringBoot是如何加载启动Quartz的?

     2.2 如何创建Schedule

     2.3 如何启动调度任务

对于新接触的工具框架,当然是先搭建一个简单的Demo跑起来啦。

由于我们现在一般都已经默认使用SpringBoot搭建我们的项目了,且Quartz已经成为了SpringBoot的默认定时调度框架,所以在SpringBoot中使用Quartz搭建定时任务就比较简单啦。

1. 快速开发一个定时任务

1.1 在SpringBoot项目中,引入Maven依赖
<dependency>  <groupId>org.springframework.bootgroupId>  <artifactId>spring-boot-starter-quartzartifactId>dependency>

1.2 创建一个任务类Task

// Task 就是我们要定时执行的具体任务,通过继承 QuartzJobBean 重写 executeInternal 方法实现public class Task extends QuartzJobBean {
        @Override    protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            System.out.println("MyTask: " + new Date());    }}
1.3 创建QuartzConfig配置类
@Configurationpublic class QuartzConfig {
        /**     * 任务描述类:将一个具体任务(MyTask)加进来     * @return     */    @Bean    public JobDetail jobDetail() {
            return JobBuilder.newJob(MyTask.class)                .withIdentity("MyTask-JobDetail")                .storeDurably().build();    }    /**     * 任务触发规则类:你想对哪个任务,怎样触发(比如间隔多久触发一次)     *      * @return     */    @Bean    public Trigger trigger() {
            //1秒执行一次        SimpleScheduleBuilder scheduleBuilder =                SimpleScheduleBuilder.simpleSchedule()                .withIntervalInSeconds(1)                .repeatForever();        return TriggerBuilder.newTrigger()                .forJob(jobDetail())                .withIdentity("MyTask-Trigger")                .withSchedule(scheduleBuilder)                .build();    }}

然后你只要运行SpringBoot项目,不用任何其他的配置,就会有个定时任

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot Quartz定时任务是一种在Spring Boot项目中实现定时任务调度的方法。它可以根据设定的时间间隔或者Cron表达式来执行任务。通过引用中提供的源代码和配置文件,可以直接导入Spring Boot项目并配置好数据库即可使用。 为了实现定时任务,需要在项目中创建一个继承自QuartzJobBean的Job类,并重写executeInternal方法。该方法定义了定时任务的具体逻辑,可以在其中执行需要定时执行的业务操作。 另外,还需要创建一个Quartz定时任务的配置类,其中使用@Configuration注解标记为配置类,配置相关的定时任务信息。在该配置类中,可以通过@Bean注解创建JobDetail和Trigger实例,分别定义任务的具体细节和触发器的配置信息。在这个配置类中,我提供了一个示例,用于演示如何配置一个定时任务。 综上所述,Spring Boot Quartz定时任务是一种灵活可靠的定时任务调度方法,可以通过Spring Boot的特性方便地实现任务的定时执行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot+quartz定时任务实现 纯代码](https://download.csdn.net/download/qq_38971617/12284286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot整合Quartz实现定时任务](https://blog.csdn.net/qq_29305715/article/details/123517569)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值