`
李楷呀
  • 浏览: 4381 次
社区版块
存档分类
最新评论

springboot 集成Quartz 实现定时任务

阅读更多

           本章我们使用Quartz在java project的项目中进行定时任务的实现,首先我们需要在pom文件引入 quartz jar 包,

          

           <dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-quartz</artifactId>

           </dependency>

 

           接下来我们编写具体的执行任务类,具体的执行需要继承QuartzJobBean 类 或者job接口都可以,我们这里是继承QuartzJobBean 类    ,如下:

     

 

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

 

public class HelloworldJob extends QuartzJobBean  {

 

@Override

public void executeInternal(JobExecutionContext context) throws JobExecutionException {

// TODO Auto-generated method stub

System.out.println("Hello world!:" + context.getJobDetail().getKey());

}

 

}

 

        接下来编写任务的启动类,需要在类上加@Configuration注解,以便被扫描到,在方法上增加注解@Bean,注入倒容器中,如下:

 

 

import org.quartz.CronScheduleBuilder;

import org.quartz.JobBuilder;

import org.quartz.JobDetail;

import org.quartz.Trigger;

import org.quartz.TriggerBuilder;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class QuartzDemo {

@Bean

    public JobDetail myJobDetail(){

       JobDetail jobDetail = JobBuilder.newJob(HelloworldJob.class)

            .withIdentity("myJob1","myJobGroup1")//定义Job类为HelloworldJob类,这是真正的执行逻辑所在

            .usingJobData("job_param","job_param1")//给任务execute传递参数

            .storeDurably()

                .build();

        return jobDetail;

    }

    @Bean

    public Trigger myTrigger(){

        Trigger trigger = TriggerBuilder.newTrigger()

                .forJob(myJobDetail())

                .withIdentity("myTrigger1","myTriggerGroup1")

                .usingJobData("job_trigger_param","job_trigger_param1")

                .startNow()

                //.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever())

                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? 2019"))

                .build();

        return trigger;

    }

 

}

 

 

下面启动项目就能看到任务打印信息了:

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

Hello world  Quartz !:myJobGroup1.myJob1

 

 

 

 

 

         

 

分享到:
评论

相关推荐

    Springboot整合Quartz实现定时任务数据库动态配置

    Spring Boot作为一个轻量级的Java框架,提供了与各种定时任务库集成的能力,其中Quartz是一个广泛应用的开源作业调度框架。本篇文章将详细探讨如何在Spring Boot项目中整合Quartz,并通过MySQL数据库实现定时任务的...

    SpringBoot 整合Quartz(集群)实现定时任务调度

    SpringBoot整合Quartz实现定时任务调度是企业级应用中常见的需求,主要用于自动化执行某些周期性的任务,例如数据备份、报表生成、系统维护等。Quartz是一个功能强大的开源作业调度框架,能够灵活地定义任务和调度...

    SpringBoot集成Quartz分布式定时任务

    1. **SpringBoot集成Quartz**: 在SpringBoot项目中集成Quartz,首先需要在`pom.xml`文件中添加Quartz和SpringBoot对Quartz的支持依赖。例如: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-...

    springboot集成Quartz实现定时任务demo源码案例演示

    一、简介 二、工程搭建 1、工程结构 2、依赖管理 3、数据库 ...三、Quartz用法 1、初始化加载 2、新增任务 3、更新任务 4、暂停任务 5、恢复任务 6、执行一次 7、删除任务 8、任务执行 四、参考源码

    springboot2.3集成quartz定时任务持久化数据库,支持集群

    在本文中,我们将深入探讨如何在Spring Boot 2.3版本中集成Quartz定时任务,并实现其持久化到数据库,以便支持集群环境。这个过程的关键在于配置Quartz Scheduler,设置数据库连接,以及确保任务在多节点环境中能够...

    SpringBoot集成Quartz定时任务

    SpringBoot集成Quartz定时任务(包含对任务的添加、暂停、删除、继续等)

    Springboot2-Quartz 后台可动态配置的定时任务

    在SpringBoot 2.x中集成Quartz,我们需要以下几个步骤: 1. 添加依赖:在项目的pom.xml或build.gradle文件中,引入Quartz Scheduler的相关依赖。SpringBoot提供了对Quartz的自动配置支持,所以只需要引入`spring-...

    springboot+quartz 动态化配置定时任务

    通过整合SpringBoot和Quartz,我们可以利用Spring的自动配置能力,方便地在Spring应用中集成定时任务功能。 二、Quartz动态配置 1. 引入依赖:首先,在`pom.xml`文件中引入SpringBoot的SpringBoot-starter-quartz...

    java-springboot-quartz-定时任务.zip

    在SpringBoot项目中集成Quartz,首先需要引入相关的依赖。在`pom.xml`文件中,我们需要添加Quartz和SpringBoot对Quartz支持的依赖: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter...

    springboot整合Quartz实现动态配置定时任务源码

    本篇文章将详细探讨如何在SpringBoot项目中整合Quartz,实现动态配置定时任务。 首先,我们需要在SpringBoot项目中引入Quartz的相关依赖。在`pom.xml`文件中添加以下Maven依赖: ```xml &lt;groupId&gt;org.spring...

    SpringBoot整合Quartz任务定时调度

    Spring Boot简化了Quartz的集成过程,我们可以通过添加相应的依赖来引入Quartz。在`pom.xml`或`build.gradle`文件中,你需要添加如下依赖: 对于Maven: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;...

    springboot整合quartz完整项目

    2. **SpringBoot集成Quartz** 在SpringBoot项目中集成Quartz,首先需要在`pom.xml`文件中添加Quartz和SpringBoot对Quartz的支持依赖。接着,在配置文件(如`application.yml`或`application.properties`)中配置...

    基于SSM+quartz的定时任务管理demo

    虽然本题目提及的是SSM,但考虑到SpringBoot的流行,提一下SpringBoot集成Quartz也很有意义。SpringBoot提供了对Quartz的自动配置,只需添加相关依赖,配置文件中设置一些属性,即可快速启动定时任务服务。 **8. ...

    springboot整合quartz实现后台可控的定时任务

    springboot整合quartz实现后台可控的定时任务: 前端实现采用layui 后端采用springboot,mybatisplus,mysql,quartz技术实现 可以单独使用,也可以集成到其他项目中。 是一套定时任务通用开发模板

    springboot整合quartz,实现数据库方式执行定时任务

    Spring Boot作为一款轻量级的Java框架,提供了与各种组件集成的能力,包括Quartz定时任务框架。Quartz是一个开源的作业调度框架,它允许开发者定义并调度复杂的定时任务。本篇将详细介绍如何在Spring Boot项目中整合...

    springboot-quartz案例

    SpringBoot以其便捷的启动和管理特性,简化了Java应用程序的开发,而Quartz则是一款强大的开源作业调度框架,能够方便地创建和管理定时任务。 在"springboot-quartz案例"中,我们看到的是一个完整的项目实例,它...

    springboot-quartz--定时任务

    springboot集成的quartz定时任务,直接可以运行,在数据库配置相关的任务类即可运行,SQL放在doc文件目录下

    springboot整合quartz实现定时任务示例

    SpringBoot 整合 Quartz 实现定时任务是一种常见的方式,它提供了更为强大和灵活的定时任务管理功能。在SpringBoot项目中,我们可以利用Spring的内置定时器或者集成第三方库Quartz来实现定时任务。 首先,...

Global site tag (gtag.js) - Google Analytics