返回顶部
首页 > 资讯 > 精选 >SpringBoot2.6.3怎么集成quartz
  • 706
分享到

SpringBoot2.6.3怎么集成quartz

2023-06-29 05:06:19 706人浏览 薄情痞子
摘要

这篇文章主要介绍了SpringBoot2.6.3怎么集成quartz的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot2.6.3怎么集成quartz文章都会有所收获,下面我们一起来看看吧。qua

这篇文章主要介绍了SpringBoot2.6.3怎么集成quartz的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springBoot2.6.3怎么集成quartz文章都会有所收获,下面我们一起来看看吧。

quartz使用

quartz启动需要数据库有很多表的支持,这些表的建表脚本可以通过如下方式找到

如何找到quartz的数据库脚本
在这里下载,需要注意的是下载2.2.3这个版本,不知道为什么高版本的反而没有,真是佛了

SpringBoot2.6.3怎么集成quartz

集成Springboot

代码
yml配置

spring:  application:    name: demo-excel  datasource:    url: jdbc:mysql://rm-xxx.Mysql.rds.aliyuncs.com:3306/quartz_demo?zeroDateTimeBehavior=convertToNull    passWord: quartz_demo    username: quartz_demo    driver-class-name: com.mysql.cj.jdbc.Driver    name: datasource1  quartz:    # quartz任务存储类型:jdbc或memory    job-store-type: jdbc    # 关闭时等待任务完成    wait-for-jobs-to-complete-on-shutdown: true    # 可以覆盖已有的任务    overwrite-existing-jobs: true    properties:      org:        quartz:          scheduler:            # 调度器实例名称            instanceName: scheduler            # 调度器实例ID自动生成            instanceId: AUTO          jobStore:            class: org.springframework.scheduling.quartz.LocalDataSourceJobStore            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate            # quartz相关表前缀            tablePrefix: QRTZ_            useProperties: false          threadPool:            class: org.quartz.simpl.SimpleThreadPool            # 设置并发线程数量            threadCount: 10            # 指定线程优先级            threadPriority: 5            threadsInheritContextClassLoaderOfInitializingThread: trueserver:  port: 8190mybatis-plus:  mapper-locations: classpath*:/mapperxml/*.xml

实现一个最简单的任务,该任务输出1111

@Componentpublic class TestJob extends QuartzJobBean {    @Override    protected void executeInternal(JobExecutionContext jobExecutionContext)            throws JobExecutionException {        // 任务的具体逻辑        System.out.println(1111);    }}

配置这个任务的执行计划

@Configurationpublic class QuartzConfig {    @Bean    public JobDetail jobDetail() {        JobDetail jobDetail = JobBuilder.newJob(TestJob.class)                .withIdentity("test", "test")                .storeDurably()                .build();        return jobDetail;    }    public Trigger trigger() {        Trigger trigger = TriggerBuilder.newTrigger()                .forJob(jobDetail())                .startNow()                .withSchedule(CronScheduleBuilder.cronSchedule("* * * * * ?"))        return trigger;}

启动任务会看到控制台每秒钟打印一次1111

进阶

上诉任务是配置在代码中,那么如果我们想把任务配置数据库中,这样我们就可以做一个定时任务的维护页面,可以对定时任务的触发规则修改,及修改删除定时任务应该怎么做呢?

先定义一张存储定时任务的表

-- auto-generated definitioncreate table sys_job(    id              bigint                  not null primary key,    job_name        varchar(64)             not null comment '任务名称',    job_group       varchar(64)             not null comment '任务组名',    method_name     varchar(500)            null comment '任务方法',    method_params   varchar(50)             null comment '方法参数',    cron_expression varchar(255)            null comment 'cron执行表达式',    misfire_policy  varchar(20) default '3' null comment '计划执行错误策略(1立即执行 2执行一次 3放弃执行)',    concurrent      char        default '1' null comment '是否并发执行(0允许 1禁止)',    status          char        default '0' null comment '状态(0正常 1暂停)',    create_by       varchar(64)             null comment '创建者',    create_time     datetime                null comment '创建时间',    update_by       varchar(64)             null comment '更新者',    update_time     datetime                null comment '更新时间',    remark          varchar(500)            null comment '备注信息')    comment '定时任务调度表';

插入一条数据

INSERT INTO quartz_demo.sys_job (id, job_name, job_group, method_name, method_params, cron_expression, misfire_policy, concurrent, status, create_by, create_time, update_by, update_time, remark) VALUES (1, 'testJob2', 'test2', 'exec', null, '* * * * * ?', '2', '1', '0', null, null, null, null, null);

同时定义一张执行结果记录表

-- auto-generated definitioncreate table sys_job_log(    job_log_id     int auto_increment comment '任务日志ID'        primary key,    job_name       varchar(64)      not null comment '任务名称',    job_group      varchar(64)      not null comment '任务组名',    method_name    varchar(500)     null comment '任务方法',    method_params  varchar(50)      null comment '方法参数',    job_message    varchar(500)     null comment '日志信息',    status         char default '0' null comment '执行状态(0正常 1失败)',    exception_info varchar(2000)    null comment '异常信息',    create_time    datetime         null comment '创建时间')    comment '定时任务调度日志表';

项目启动时读取这张表里的数据放到quartz中执行
由于代码太多了,这边就不列出来代码了,demo已经上传到GitHub项目基于springboot、mybatisplus。启动加载任务的代码在com.bxoon.service.impl.SysJobServiceImpl

关于“SpringBoot2.6.3怎么集成quartz”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringBoot2.6.3怎么集成quartz”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: SpringBoot2.6.3怎么集成quartz

本文链接: https://lsjlt.com/news/322866.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SpringBoot2.6.3怎么集成quartz
    这篇文章主要介绍了SpringBoot2.6.3怎么集成quartz的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot2.6.3怎么集成quartz文章都会有所收获,下面我们一起来看看吧。qua...
    99+
    2023-06-29
  • SpringBoot2.6.3集成quartz的方式
    quartz使用 quartz启动需要数据库有很多表的支持,这些表的建表脚本可以通过如下方式找到 如何找到quartz的数据库脚本在这里下载,需要注意的是下载2.2.3这个版本,不知...
    99+
    2024-04-02
  • Quartz与Spring集成的方法是什么
    要将Quartz与Spring集成,可以按照以下步骤进行操作:1. 添加Quartz和Spring的依赖:在项目的pom.xml文件...
    99+
    2023-10-20
    Quartz Spring
  • quartz集群怎么防止并发
    要防止并发,可以考虑以下几种方法来保护Quartz集群:1. 使用数据库锁:Quartz可以使用数据库锁来保护并发访问。通过配置数据...
    99+
    2023-10-20
    quartz
  • SpringBoot - 集成Quartz框架之常用配置
    Quartz是一款Java编写的开源任务调度框架,同时它也是Spring默认的任务调度框架。它的作用其实类似于Java中的Timer定时器以及JUC中的ScheduledExecutorService...
    99+
    2023-09-08
    spring boot java spring
  • Quartz集群怎么配置和应用
    配置和应用Quartz集群需要以下步骤:1. 配置数据库:Quartz集群需要使用数据库来存储调度信息和任务状态。你可以使用任何支持...
    99+
    2023-08-16
    Quartz
  • Quartz与Spring集成的两种方法示例
    目录Quartz与Spring集成方式:1.MethodInvokeJobDetailFactoryBean2.JobDetailBean3.两种集成方式的简单说明Quartz与Sp...
    99+
    2024-04-02
  • SpringBoot集成quartz实现定时任务详解
    目录准备知识点什么是QuartzQuartz的体系结构什么是Quartz持久化实现案例 - 单实例方式实现案例 - 分布式方式后端实现前端实现测试效果准备知识点 需要了解常用的Qua...
    99+
    2022-11-13
    SpringBoot quartz定时任务 SpringBoot 定时任务 SpringBoot quartz
  • quartz集群任务调度怎么应用
    Quartz是一个开源的Java任务调度框架,可以用于在一个集群中调度任务。下面是使用Quartz集群任务调度的一般步骤:1. 配置...
    99+
    2023-10-20
    quartz
  • quartz集群和非集群有什么区别
    Quartz是一个开源的作业调度框架,用于在Java应用程序中调度任务。Quartz集群和非集群的区别主要体现在以下几个方面:1. ...
    99+
    2023-09-18
    quartz
  • 可视化定时任务quartz集成解析全过程
    目录前言1.目录结构2.原理3.表结构4.整合springboot1.pom文件2.ScheduleConfig3.业务类4.运行配置5.ScheduleJob 6.Sch...
    99+
    2022-11-13
    quartz详解 quartz源码解析 quartz集群任务调度
  • quartz集群配置的方法是什么
    配置Quartz集群有以下几个步骤:1. 配置数据库:首先,需要准备一个数据库来存储Quartz的调度信息。可以使用MySQL、Or...
    99+
    2023-09-18
    quartz
  • java quartz怎么使用
    使用Java Quartz有以下步骤:1. 导入Quartz依赖库,例如在Maven项目中,在pom.xml文件中添加以下依赖:``...
    99+
    2023-08-31
    java quartz
  • eclipse怎么集成github
    Eclipse是一个流行的Java集成开发环境,可以帮助开发人员高效地创建和管理Java应用程序。Github是一个流行的社交编程平台,提供代码托管、版本控制和协作功能。在本文中,我们将介绍将Eclipse和Github集成的步骤。步骤1:...
    99+
    2023-10-22
  • quartz集群防止并发的方法是什么
    Quartz集群的目的是确保在多个节点上调度任务时的高可用性和负载均衡。为了防止并发问题,可以采取以下方法:1. 数据库锁定:在Qu...
    99+
    2023-09-18
    quartz
  • springBoot项目集成quartz开发定时任务案例及注意事项
    目录quartz下载、安装实战案例常见问题及解决方案quartz下载、安装 Quartz是完全由java开发的一个开源的任务日程管理系统,任务进度管理器就是一个在预先确定的时间到达时...
    99+
    2024-04-02
  • Spring boot怎么集成MQTT
    这篇“Spring boot怎么集成MQTT”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
    99+
    2023-06-30
  • Java Spring怎么集成MapStruct
    这篇文章主要介绍了Java Spring怎么集成MapStruct的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java Spring怎么集成MapStruct文章都会有所收获,下面我们一起...
    99+
    2023-06-30
  • Cassandra怎么与Spark集成
    要与Spark集成Cassandra,可以使用Spark的Cassandra连接器。以下是一些步骤: 在Spark中添加Cass...
    99+
    2024-04-09
    Cassandra Spark
  • Quartz表达式怎么使用
    Quartz表达式是一种时间表达式语言,用于配置Quartz调度器的任务调度时间。其基本语法为:[秒] [分钟] [小时] [日] ...
    99+
    2023-09-26
    Quartz
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作