Quartz 使用笔记

本文介绍了Quartz调度器的主要构件,包括SchedulerFactory、Scheduler、Job、JobDetail和Trigger。详细解释了Job和JobDetail的区别及用途,Trigger的类型如SimpleTrigger和CronTrigger及其参数配置方法,并提及了JobStore的概念及其两种实现。
[size=medium][b]1.Quartz的主要构件:[/b]
SchedulerFactory, Scheduler, Job, JobDetail, Trigger
SchedulerFactory 标准实现StdSchedulerFactory,
从SchedulerFactory.getScheduler()拿到Scheduler就启动scheduler.start();
实现Job接口的类是我们具体要做的事,
JobDetail是为了封装Job,设置属性等,
Trigger是定义什么时候要执行job的execute()方法.
再使用scheduler.scheduleJob(jobDetail, trigger);将job跟trigger联系起来.
看起来结构是挺明晰的.

[b]2.关于Job和JobDetail[/b]
每次scheduler执行job时,都会重新newInstance一个Job对象,所以job需要有一个没有参数的构造函数,job是无状态的.当job加入到Quartz系统中时,它需要job的一些基本信息,而这些是由JobDetail提供的
JobDetail jobDetail = new JobDetail("dumpJob",null,DumpJob.class);
JobDetail中还有一个JobDataMap,这是个Map的简单实现,这个jobDataMap可以在job的execute(JobExecutionContext context)方法中通过context得到.
Trigger也有个与它相关的JobDataMap
另外在job的execute()方法中只能抛出JobExecuteException,所以可能需要自己在execute中处理可能的异常. 抛出异常并不会终止Quartz的运行,

[b]3.关于Trigger: SimpleTrigger和CronTrigger[/b]
可以使用TriggerUtils类构造各种Trigger
SimpleTrigger的参数选择:startTime,endTime, repeatCount,repeatInterval
CronTrigger类似linux下的cron
秒 分 时 日 月 星期 年

星期缩写SUN, MON, TUE, WED, THU, FRI, SAT
月份缩写JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
主要就是要构造cron表达式

[b]4.关于jobStore[/b]
JobStore是保存scheduler工作资料(job, trigger,etc)的地方,
可以有两种实现RAMJobStore,JDBCJobStore


[/size]
根据原作 https://pan.quark.cn/s/459657bcfd45 的源码改编 Classic-ML-Methods-Algo 引言 建立这个项目,是为了梳理和总结传统机器学习(Machine Learning)方法(methods)或者算法(algo),和各位同仁相互学习交流. 现在的深度学习本质上来自于传统的神经网络模型,很大程度上是传统机器学习的延续,同时也在不少时候需要结合传统方法来实现. 任何机器学习方法基本的流程结构都是通用的;使用的评价方法也基本通用;使用的一些数学知识也是通用的. 本文在梳理传统机器学习方法算法的同时也会顺便补充这些流程,数学上的知识以供参考. 机器学习 机器学习是人工智能(Artificial Intelligence)的一个分支,也是实现人工智能最重要的手段.区别于传统的基于规则(rule-based)的算法,机器学习可以从数据中获取知识,从而实现规定的任务[Ian Goodfellow and Yoshua Bengio and Aaron Courville的Deep Learning].这些知识可以分为四种: 总结(summarization) 预测(prediction) 估计(estimation) 假想验证(hypothesis testing) 机器学习主要关心的是预测[Varian在Big Data : New Tricks for Econometrics],预测的可以是连续性的输出变量,分类,聚类或者物品之间的有趣关联. 机器学习分类 根据数据配置(setting,是否有标签,可以是连续的也可以是离散的)和任务目标,我们可以将机器学习方法分为四种: 无监督(unsupervised) 训练数据没有给定...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值