2.0版本的aop框架中集成了quartz任务调度组件,该组件包含三部分:
1. 任务管理组件:用来启动和停止任务调度引擎,管理任务(新增,启动,修改,停止,挂起/继续,删除任务)
org.frameworkset.task.TaskService
2. 任务管理服务组件:按分组模式管理所有的job任务,并从相关的数据源加载作业任务
所有的任务管理组件都从抽象类org.frameworkset.task. ScheduleService继承
3. 任务配置文件:用来配置不同的作业服务和具体的作业job。对应的配置文件为:
/bbossaop/resources/org/frameworkset/task/quarts-t ask.xml
下面分别举例说明:
任务管理控件:用来启动和停止任务调度引擎,管理任务(启动,修改,停止,删除任务)
org.frameworkset.task.TaskService
启动任务引擎 TaskService.getTaskService ().startService(); 停止任务引擎 TaskService.getTaskService ().stopService(); 删除任务 TaskService.getTaskService ().deleteJob(String jobname, String groupid) 暂停任务 TaskService.getTaskService ().pauseJob(String jobname, String groupid) 继续任务 TaskService.getTaskService (). resumeJob(String name, String groupid) 新增和启动任务 TaskService.getTaskService (). startExecuteJob(String groupid, SchedulejobInfo jobInfo) 更新任务 TaskService.getTaskService () .updateExecuteJob(String groupid, SchedulejobInfo jobInfo) 所有的任务管理组件都从抽象类org.frameworkset.task. ScheduleService继承,定义了一下抽象方法:
publicabstractvoid startService(Scheduler scheduler) throws ScheduleServiceException;
public abstractvoid startExecuteJob(Scheduler scheduler,SchedulejobInfo jobInfo);
public abstractvoid updateJob(Scheduler scheduler,SchedulejobInfo jobInfo);
public abstractvoid updateTriger(Scheduler scheduler,SchedulejobInfo jobInfo);
public abstractvoidupdateJobAndTriger (Scheduler scheduler, SchedulejobInfo jobInfo); 系统中默认提供的任务管理组件 org.frameworkset.task.DefaultScheduleService,用来加载系统中默认的静态的任务,可以配置多个作业任务 如果用户需要动态管理自己的作业任务,那么可以编写自己的ScheduleService,实现org.frameworkset.task. ScheduleService类的抽象方法:
publicclassDemoScheduleServiceextends ScheduleService {
@Override
publicvoid startExecuteJob(Scheduler scheduler, SchedulejobInfo jobInfo) {
//执行新定义的任务
}
@Override
publicvoid startService(Scheduler scheduler)
throws ScheduleServiceException {
//系统启动时,从资源库中获取所有的已经存在的任务,并加载到scheduler引擎中。
}
@Override
publicvoid updateJob(Scheduler scheduler, SchedulejobInfo jobInfo) {
更新一个已经加载的作业任务
}
@Override
publicvoid updateJobAndTriger(Scheduler scheduler, SchedulejobInfo jobInfo) {
更新作业任务,并触发任务的执行
}
@Override
publicvoid updateTriger(Scheduler scheduler, SchedulejobInfo jobInfo) {
更新任务触发器
}
}
编写好自定义的任务服务组件后就可以将其配置到quarts-task.xml文件中了,例如:
必须指定唯一的taskid属性,use属性用来设置该任务组件是否生效。
一个简单的配置文件
/bbossaop/resources/org/frameworkset/task/quarts-t ask.xml的内容如下:
说明: org.frameworkset.task.DefaultScheduleService是系统中默认提供的任务管理组件,用来加载系统中默认的静态的任务,可以配置多个,例如: 属性说明: Taskid:用来区分任务组,可以作为任务组的唯一标识,系统中通过Taskid和jobid来区分唯一的一个作业任务,TaskService组件的很多方法中都有groupid和jobname两个参数,taskid就对应于groupid参数,jobid对应于jobname参数。 Name 任务的名称 Jobid 任务的标识 Action任务执行的操作 cronb_time 任务执行的调度时间,具体需要参考cronb_time的语法。
use:区分任务是否生效 内嵌的节点 用来指定任务执行时需要的参数。 需要特别说明的是Action类必须实现org.frameworkset.task.Execute接口,例如: publicclassTestJobimplements Execute, Serializable { publicvoid execute(Map parameters) { System.out.println("send_count = "+parameters.get("send_count")); } } 如果用户需要动态管理自己的作业任务,那么可以实现org.frameworkset.task. ScheduleService类
发表评论
-
VC中关于字符串处理问题小结
2012-07-06 09:51 670在Visual C++中,对字符串的处理是编程中经常遇到的 ... -
利用正则表达式 获取FCK上传的图片
2012-07-06 09:45 532/// /// 取得FCK,HTML中所有图片的 URL ... -
在 Oracle 中使用正则表达式[官网]
2012-07-06 09:37 722声明:该文章源于 ... -
DNN读书摘录5-Starter Kit Template
2012-07-06 09:30 699《Professional DotNetNuke Modu ... -
js 操作select和option
2012-07-05 20:45 5321.动态创建select function createS ... -
flex拖动图片到Canvas时,一定要设定背景色
2012-07-02 10:44 752最近的项目用到flex拖动技术,网上查了些资料,实现了拖动 ... -
Flex 转向URL
2012-07-02 10:44 623http://hi.baidu.com/wptad/blo ... -
flex 保存控件为jpg或png
2012-07-02 10:44 523var bitmapData:BitmapData = n ... -
Flex4 uint颜色值和16进制颜色互转
2012-07-02 10:44 559前几天遇到Flex需要用uint来表示颜色值的问题, ... -
探究 Flex 组件的生命周期
2012-07-01 00:23 496简介: 最为新一 ... -
flex RSL模式
2012-07-01 00:23 461有过FLEX,RIA产品或 ... -
Flex 4 新体验
2012-07-01 00:23 481直到最近才开始真 ... -
AS3.0相关知识
2012-07-01 00:22 552as3.0 2010-01-06 0 ...
相关推荐
基于Quartz.Net组件实现定时任务调度-QuartzServer
基于zookeeper+spring task的分布式任务调度组件,非常小巧,无需任何修改就可以使spring task具备分布式特性,确保所有任务在集群中不重复,不遗漏的执行。 5.Quartz 官方地址:...
通过Quartz这个第三方组件实现任务定时执行以及任务的状态跟踪。
很多的软件项目中都会使用到定时任务、定时轮询数据库同步,定时邮件...如果需要在.NET实现定时器的功能,可以尝试使用以下这款开源免费的组件Quartz.Net组件。目前Quartz.NET版本为3.0,修改了原来的一些问题:修复
Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度...
elastic-job和ddframe关系见下图Elastic-Job 主要功能定时任务: 基于成熟的定时任务作业框架Quartz cron表达式执行定时任务。作业注册中心: 基于Zookeeper和其客户端Curator实现的全局作业注册控制中心。用于注册...
任务调度系统简介它为您提供秒级,分布式的定时(基于 Cron 表达式)任务调度服务。特点:1 采用rocketmq remoting通讯协议(做了些许改动 ,去掉了nameserver相关的代码)2 没有使用quartz,而使用hashedwheeltimer来...
石英任务调度 lan7916 v1.0,2019.01 前言 最近学习“黑马程序员”的“精品详解石英视频”教程,顺便将课程...简而言之,Quartz即基于Java实现的任务调度框架,用于执行你想要执行的任何任务。 官网: : 二,石英运
实现企业对资产的基本管理,包含对资产的登记、维修、调拨、转移等基本功能的支持,并提供对资产的耗材、库存...- 任务调度:Quartz 2.3.3 - 项目管理框架: Maven 3.6、3.8 - 运行容器:Undertow - 前端组件:LayUI 2.6.8
APScheduler是基于Quartz的一个Python定时任务框架。提供了基于日期、固定时间间隔以及crontab类型的任务,并且可以持久化任务。 在线文档:https://apscheduler.readthedocs.io/en/latest/userguide.html 一、安装...
Spring Batch 是一个轻量级的、完善的批处理框架,旨在帮助企业建立健壮、高效的...如果需要使用调用框架,在商业软件和开源软件中已经有很多优秀的企业级调度框架(如 Quartz、Tivoli、Control-M、Cron 等)可以使用。
基于boot+Quartz定时任务调度平台 kafka 基于Redis分布式限流组件设计与使用实例 发送邮件 dalgen工具 多数据源 使用jedis客户端整合redis 基于位图实现布隆过滤器 基于redis 实现的简单队列 整合redission 客户端 ...
基于zookeeper+quartz/spring task的分布式任务调度组件
任务调度:Quartz 2.3.3 项目管理框架: Maven 3.6、3.8 运行容器:Undertow 前端技术栈 前端组件:LayUI 2.6.8 开发环境 IDE:IntelliJ IDEA 2020.2以上 JDK:JDK 1.8.100 (小版本100以上,但仅支持1.8) 数据库:...
任务调度:Spring + Quartz 2.2.3 持久层框架:MyBatis 3.4.2 + Mybatis-plus 2.0.1 日志管理:SLF4J 1.7 + Log4j2 2.7 工具类:Apache Commons、Jackson 2.2、fastjson 1.2.20 前端技术 JS框架:Jquery 表格插件:...
常用的一些开源组件整理: 导出Excel报表的插件:NOPI.dll(基于微软OpenXml实现) 开源的作业调度和自动任务框架:Quartz.NET。
进行任务调度根据设置的cron trigger触发执行转换服务。Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,...
12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...
12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用...
Boot目前内置了部门管理、用户管理、角色管理、菜单管理、数据数据字典、定时任务、常用系统监控等基础功能,并内置了文件上传下载、导入导出、微信支付、支付宝支付、短信功能、邮件发送等常用工具,整合了layui...