计划任务 SchedulerFactoryBean 配置

计划任务 SchedulerFactoryBean 配置Quartz是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性。Quartz允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。Spring为创建Quart…

大家好,又见面了,我是你们的朋友全栈君。

Quartz 是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。

Spring为创建Quartz的Scheduler、Trigger和JobDetail提供了便利的FactoryBean类,以便能够在Spring 容器中享受注入的好处。此外Spring还提供了一些便利工具类直接将Spring中的Bean包装成合法的任务。Spring进一步降低了使用Quartz的难度,能以更具Spring风格的方式使用Quartz。概括来说它提供了两方面的支持:

1)为Quartz的重要组件类提供更具Bean风格的扩展类;

2)提供创建Scheduler的BeanFactory类,方便在Spring环境下创建对应的组件对象,并结合Spring容器生命周期进行启动和停止的动作。

第一步: 配置SchedulerFactoryBean

Quartz的SchedulerFactory是标准的工厂类,不太适合在Spring环境下使用。此外,为了保证Scheduler能够感知Spring容器的生命周期,完成自动启动和关闭的操作,必须让Scheduler和Spring容器的生命周期相关联。以便在Spring容器启动后,Scheduler自动开始工作,而在Spring容器关闭前,自动关闭Scheduler。为此,Spring提供SchedulerFactoryBean,这个FactoryBean大致拥有以下的功能:

1)以更具Bean风格的方式为Scheduler提供配置信息;

2)让Scheduler和Spring容器的生命周期建立关联,相生相息;

3)通过属性配置部分或全部代替Quartz自身的配置文件。

spring容器中的bean只能放到SchedulerContext里面传入job中。

(0)
上一篇 2022年5月10日 上午6:40
下一篇 2022年5月10日 上午6:40


相关推荐

  • 前端基础知识(grid布局)

    前端基础知识(grid布局)参考链接 grid 布局简介 CSSGrid 网格 布局 是一个二维的基于网络的布局系统 Flexbox 的出现很大程度上改善了我们的布局方式 但它的目的是为了解决更简单的一维布局 而不是复杂的二维布局 实际上 Flexbox 和 Grid 能协同工作 而且配合得非常好 Grid 网格 布局是第一个专门为解决布局问题而创建的 CSS 模块采用 grid 布局的元素 被称为 grid 容器 grid

    2026年3月19日
    2
  • centos8安装rabbitmq_rabbitmq镜像集群

    centos8安装rabbitmq_rabbitmq镜像集群rabbitmq集群搭建1分别在3台节点安装rabbitmq-server在3台虚拟机(10.0.11.5410.0.11.5610.0.11.57)分别安装相同版本的rabbitmq-server及erlang,2分别修改三台节点的/etc/hosts文件注意必须修改主机名hostnamectlset-hostnamenode1#node2,3以此类推每台节点hosts文件修改后如下3将三台节点的.erlang.cookie内容修改一致(不一致创建集群会报错

    2025年10月24日
    4
  • git安装教程图文详解_git vim命令

    git安装教程图文详解_git vim命令奥力给一、通过Yum源安装#1.卸载旧版本yumremovegit#2.安装yum源的Git版本yuminstall-ygit#3.查看版本gitversion#输出gitversion1.8.3.1#4.查看本文下方的「三、配置全局环境变量」二、通过编译安装#如果没有安装wget则安装yuminstall-ywget2.1下载点击查看最新版本#我这里操作时最新版本为V2.35.1,以下命.

    2025年8月22日
    5
  • 使用 qrcodejs2 生成二维码详细API和参数

    使用 qrcodejs2 生成二维码详细API和参数使用 qrcodejs2 页面引入页面标签可以使 id 或者 ref 建议使 ref 因为使 vue 框架控制虚拟 Dom 才是正确的选择简单 便参数说明 OptionsEvent

    2026年3月17日
    2
  • 使用Python进行Klayout版图绘制(1/4)

    使用Python进行Klayout版图绘制(1/4)作为器件研发工程师 能够绘制版图和修改版图是最基本的工作 但是在进行器件研发阶段 我们常常需要绘制不同 pitch 形状 尺寸的原胞结构 这些工作往往是重复且繁杂的 因为原胞有源区边缘总是整个器件版图绘制中比较难处理的地方 在使用绘图工具进行操作时 稍有不慎 就会在其中引入违反 DRC 规则的缝隙 并且在手动查找这些缝隙时 需要将版图的局部放大到非常大的倍数才能发现 因此 如果版图的绘制可以使用 python 代码来实现 将会大大简化在研发阶段版图绘制的时间以及修改版图的时间 提高研发的效率 目前 在绘制版图中 经常

    2026年3月19日
    2
  • Android中Textview文字设置不同颜色、下划线、加粗、超链接

    Android中Textview文字设置不同颜色、下划线、加粗、超链接

    2021年10月1日
    184

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号