iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot自动配置Quartz的实现步骤
  • 301
分享到

SpringBoot自动配置Quartz的实现步骤

2024-04-02 19:04:59 301人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 依赖信息 1.1 原依赖信息 1.2 新的依赖 1.3 依赖变化 2. 新的依赖使用 2.1 默认配置可用 2.2 使用自动配置 2.3 配置信息: 3. 总结 Sprin

SpringBoot2.0版本之后,其中增加了对Quartz框架的支持内容,可以实现通过容器来自动配置Quartz。

1. 依赖信息

springboot2.x版本时,出现了spring-boot-starter-quartz这一起步依赖,其中提供了很多丰富功能。

1.1 原依赖信息

之前引入quartz框架时,必须引入的依赖信息有:


<!--quartz核心包-->
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.3.2</version>
</dependency>
<!--添加Scheduled坐标-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
</dependency>
<!--Spring tx 坐标-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
</dependency>

依赖引入之后,项目Maven中的依赖管理信息

1.2 新的依赖

使用新的spring-boot-starter-quartz依赖代替原有三种依赖信息:


<!--springboot2-quartz依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

依赖引入后,项目maven管理的依赖信息

1.3 依赖变化

可以看出,springBoot2.0之后使用一个starter依赖就相当于引入三个依赖信息,spring-boot-starter-quartz本质上与引入三个依赖信息相同。

2. 新的依赖使用

2.1 默认配置可用

使用新的依赖信息后,对于原有的配置方式是完全可行的,如原有的quartz使用流程:

  • 定义任务实现Job,并重写其中的execute()方法,添加执行的任务
  • 配置Quartz配置类,配置类中注入Job、Trigger、Scheduler对象
  • 配置类或者启动类上使用@EnableScheduling注解开启定时任务
  • 项目启动时会自动执行配置的定时任务

在新的依赖支持下项目执行效果完全一致。

2.2 使用自动配置

如果说springboot2.0之后的starter依赖带来的变化,最主要的就是依赖包中封装了quartz的自动配置相关内容。

quartz相关的自动配置类是springboot的autoconfigure自动配置类包中提供的支持,如下

  • QuartzAutoConfiguration,自动配置类,其中会自动初始化配置调度器类、数据源信息、和数据存储类型等
  • QuartzProperties,配置文件类,对于quartz的配置信息,使用统一的application.yml/properties管理,jar包中提供了一个QuartzProperties类专门用来获取配置文件中quartz相关的配置信息。
    • 该类存在org.springframework.boot.autoconfigure.quartz springboot自动配置包中,获取配置文件中以"spring.quartz"开头的配置
  • QuartzDataSourceInitializer,初始化数据源操作,直接使用spingboot项目的数据源配置
  • JobStoreType,定义quartz数据存储类型的枚举类,有MEMORY/JDBC两个值
  • SchedulerFactoryBeanCustomizer,功能接口,可以通过实现该接口来实现调度器类的自定义配置

使用自动配置类流程

  • 使用starter依赖信息
  • 使用 application.yml/properties 统一管理quartz配置
  • 移除使用@Configuration标注的自动配置类,否则该配置类会代替自动配置

2.3 配置信息:

在application.yml文件中配置数据持久化:


server:
  port: 8082

spring:
  datasource:
    url: jdbc:Mysql://10.35.219.24:3306/test282?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
    username: mysql
    passWord: Dh2236@db!
    driver-class-name: com.mysql.cj.jdbc.Driver
  quartz:
    #相关属性配置
    properties:
      org:
        quartz:
          scheduler:
            instanceName: clusteredScheduler
            instanceId: AUTO
          jobStore:
            class: org.quartz.impl.jdbcjobstore.JobStoreTX
            driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
            tablePrefix: QRTZ_
            isClustered: true
            clusterCheckinInterval: 10000
            useProperties: false
          threadPool:
            class: org.quartz.simpl.SimpleThreadPool
            threadCount: 15
            threadPriority: 5
            threadsInheritContextClassLoaderOfInitializingThread: true
    #数据库方式
    job-store-type: jdbc

数据库存储方式字段job-store-typ可以取值为jdbc或memory,如果需要设置为memory存储在内存中时,需要则需要更改jobStore.class为内存类型,并移除jonStore下的其他配置信息;否则会启动报错。

3. 总结

SpringBoot的自动配置带来了很大的效率,减去了很多重复的配置、也增加了代码的简洁性。

但是,自动配置往往也会带来一些问题,如自动配置冲突等情况,往往需要手动来选择最终使用的配置对象。

到此这篇关于SpringBoot自动配置Quartz的实现步骤的文章就介绍到这了,更多相关SpringBoot自动配置Quartz内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SpringBoot自动配置Quartz的实现步骤

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot自动配置Quartz的实现步骤
    目录1. 依赖信息 1.1 原依赖信息 1.2 新的依赖 1.3 依赖变化 2. 新的依赖使用 2.1 默认配置可用 2.2 使用自动配置 2.3 配置信息: 3. 总结 Sprin...
    99+
    2024-04-02
  • SpringBoot自动配置Quartz的实现步骤是什么
    本篇内容介绍了“SpringBoot自动配置Quartz的实现步骤是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 依赖信息spri...
    99+
    2023-06-25
  • SpringBoot自动配置实现的详细步骤
    目录springboot如何实现一、依赖管理特性1. 父项目2. 场景启动器二、自动配置1. 自动配置组件2. 默认的包结构3. 各种配置拥有默认值4. 按需加载所有自动配置项三、小...
    99+
    2024-04-02
  • SpringBoot自动配置如何实现
    这篇文章主要介绍“SpringBoot自动配置如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot自动配置如何实现”文章能帮助大家解决问题。springboot如何实现在之前的...
    99+
    2023-06-30
  • SpringBoot如何实现Tomcat自动配置
    目录准备工作 启动 接着往下看 目录 准备工作 我们知道SpringBoot的自动装配的秘密在 org.springframework.boot.autoconfigure 包下的...
    99+
    2024-04-02
  • 使用springboot怎么实现自动配置
    这篇文章将为大家详细讲解有关使用springboot怎么实现自动配置,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。springboot是什么springboot一种全新的编程规范,其设计目的...
    99+
    2023-06-14
  • springboot自动刷新配置怎么实现
    在Spring Boot中,可以通过使用Spring Cloud Config或Spring Boot Actuator来实现自动刷...
    99+
    2023-10-10
    springboot
  • ubuntu20.04配置mysql8.0的实现步骤
    目录1 安装1.1 下载1.2 安装1.3 安装mysql Server1.4常用命令2 配置外网访问2.1 查看端口2.2修改配置文件2.3 修改root密码2.4修改用户安装过程询问一般 y 就可以了 1 安装 1....
    99+
    2023-05-05
    ubuntu20.04配置mysql8.0 ubuntu配置mysql
  • SpringBoot+Quartz实现动态定时任务
    本文实例为大家分享了springBoot+Quartz实现动态定时任务的具体代码,供大家参考,具体内容如下 目前常用的几种任务调度 Timer,简单无门槛,一般也没人用。spring...
    99+
    2024-04-02
  • SpringBoot 配置文件加密的步骤
    目录SpringBoot 配置文件加密 编码 其他 SpringBoot 配置文件加密 本章将对SpringBoot配置文件中的数据加密做自定义开发. 在SpringBoot开发过...
    99+
    2024-04-02
  • MyBatis实现配置加载的步骤
    目录前言正文总结前言 在原始MyBatis的使用中,使用MyBatis时会先读取配置文件mybatis-config.xml为字符流或者字节流,然后通过SqlSessionFacto...
    99+
    2023-05-19
    MyBatis 配置加载
  • SpringBoot启动嵌入式Tomcat的实现步骤
    目录Spring Boot中Web容器相关接口WebServerServletWebServerFactoryWebServerFactoryCustomizerBeanPostPr...
    99+
    2024-04-02
  • python实现自动化群控的步骤
    目录1. 前言2. 准备3. 实战1、获取目标应用的包名及初始化 Activity2、获取所有在线的设备3、群控打开目标应用4、封装执行步骤5、区分设备6、执行步骤7、关闭应用4. ...
    99+
    2024-04-02
  • 全面解析SpringBoot自动配置的实现原理
    之前一直在用SpringBoot框架,一直感觉SpringBoot框架自动配置的功能很强大,但是并没有明白它是怎么实现自动配置的,现在有空研究了一下,大概明白了SpringBoot框架是怎么实现自动配置的功能,我们编写一个最简单的自动配置功...
    99+
    2023-05-31
    spring boot 配置
  • SpringBoot中@ConfigurationProperties实现配置自动绑定的方法
    目录代码构造器绑定结合@PropertySource代码 pom.xml: <xml version="1.0" encoding="UTF-8"> <projec...
    99+
    2024-04-02
  • 浅析SpringBoot自动装配的实现
    目录背景解析起始具体解析结论备注背景 众所周知,如下即可启动一个最简单的Spring应用。查看@SpringBootApplication注解的源码,发现这个注解上有一个重要的注解@...
    99+
    2024-04-02
  • GitLab的自动化部署功能及配置步骤
    GitLab的自动化部署功能及配置步骤随着软件开发和交付的需求不断增加,自动化部署已成为现代软件开发流程中的一个重要环节。GitLab作为一种强大的源代码管理和持续集成/持续交付工具,自然也提供了自动化部署的功能。本文将介绍GitLab的自...
    99+
    2023-10-22
    自动化部署 关键词:gitlab 配置步骤
  • SpringBoot整合Log4j2及配置步骤
    目录SpringBoot整合Log4j2以及配置详解1.加入依赖2.在src.java.main.resources目录下创建log4j2.xml文件 log4j2.xml文件内容如...
    99+
    2023-01-17
    SpringBoot配置Log4j2 SpringBoot整合Log4j2
  • Nacos+Spring Cloud Gateway动态路由配置实现步骤
    目录前言一、Nacos环境准备1、启动Nacos配置中心并创建路由配置2、连接Nacos配置中心二、项目构建1、项目结构2、编写测试代码三、测试动态网关配置1、启动服务,观察注册中心...
    99+
    2024-04-02
  • SpringBoot开发实战之自动配置
    在介绍SpringBoot的自动配置之前,先了解下注解@Import的使用,SpringBoot的@Enable*开头的注解底层依赖于@Import注解导入一些类,使用@Import...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作