Skip to end of metadata
Go to start of metadata

概述

BDF的任务调度模块以Quartz为基础实现,经过对其扩展、深度集成后作为BDF中的定时任务模块供开发人员使用。它具有以下特点:

此模块提供可视化的任务管理界面,用于对定时任务进行诸如新建、删除、启动、暂停、查看运行历史等操作;

同时,通过对原Quartz僵化的集群功能进行扩展,衍化出了三种集群方式,分别是:

  • 全部应用实例均作为任务服务器参与任务调度;
  • 仅在系统属性中定义的应用实例才可作为任务服务器参与任务调度;
  • 仅在系统属性中定义的拥有最高优先级的单个应用实例才可作为任务服务器参与任务调度;

此外,用过扩展定时任务的调用机制,在BDF中可以以两种方式定义所执行的任务代码:

  • 通过在开发阶段编写定时任务并配置到Spring中,在运行时指定Spring中的Bean名称及其Method的形式添加定时任务;
  • 通过线下开发定时任务程序,通过打包上传的形式向运行中的应用添加定时任务;

最后,为了适用于大量定时任务需要频繁调度的情况,BDF中实现了应用分布式缓存存储任务运行信息的仓库,通过测试验证,此种方式能够极大地提升并发量,尽可能地保证任务在指定的时间内运行。

安装配置

  1. 配置jar包
    与使用BDF其它模块一样,首先我们需要下载BDF的发行包(最新的发行包可以在这里找到),解压后找到其中的com.bstek.bdf.quartz-[version]目录,将该目录下bin目录中的com.bstek.bdf.quartz-[version].jar文件复制到目标工程的lib目录下,同时还需要将BDF调度模块所依赖的第三方jar复制到目标工程的lib下,这些第三方jar位于bin/lib目录下(主要为quart-all-[version].jar)。
  2. 配置数据库表
    如概述中所述,BDF的Quartz模块可以通过数据库实现集群,因此如果选用关系型数据库的集群实现,需要您提供数据库支持。打开BDF发行包下 com.bstek.bdf.quartz-[version]/dbschema目录,可以看到bdf-quartz与quartz两个文件夹,前者用于存放扩展功能使用的数据库表,后者用于存放Quart原有功能使用的数据库表。找到与当前工程所用数据库吻合的SQL文件(如bdf-quartz-mysql.sql与tables_mysql.sql),执行以完成数据库结构的创建。最后,按您选用的集群方式不同,可能需要在系统属性表中增加对实例名称的定义,如insert into bdf_perferences(key_,value_,desc_) values('job.servers', 'JI', '运行job的实例,可以为多个,多个之间用逗号分隔按优先级依次降低');
  3. 配置文件
    按照默认配置,您的应用已经可以作为一个任务实例参与任务调度了,如需更改默认配置,请在WEB-INF/dorado-home下新建bdf.properties文件,其内容为您需要覆盖的属性配置项,关于属性配置项,请参考BDF定时任务模块属性详解。

以上即为所有配置操作。

Labels
  • No labels