Java面试系列总结 :Quartz 定时任务

1. 什么是Quartz 框架

Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。

2. 配置文件 applicationContext_job.xml各个属性作用

(1)Job:表示一个任务(工作),要执行的具体内容。

(2)JobDetail:表示一个具体的可执行的调度程序,Job 是这个可执行程调度程序所要执行的内容,另外JobDetail还包含了这个任务调度的方案和策略。

(3)Trigger:代表一个调度参数的配置,什么时候去调。

(4)Scheduler:代表一个调度容器,一个调度容器中可以注册多个 JobDetail 和 Trigger。当 Trigger 与JobDetail组合,就可以被Scheduler容器调度了。

3. Cron表达式详解

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。

域:

Seconds(秒):可出现", - * /"四个字符,有效范围为0-59的整数。

Minutes(分钟):可出现", - * /"四个字符,有效范围为0-59的整数 。

Hours(小时):可出现", - * /"四个字符,有效范围为0-23的整数 。

DayofMonth(日of 月):可出现", - * / ? L W C"八个字符,有效范围为0-31的整数。

Month(月):可出现", - * /"四个字符,有效范围为1-12的整数。

DayofWeek(日of 星期):可出现", - * / ? L C #"四个字符,有效范围为1-7的整数1表示星期天,2表示星期一, 依次类推。

Year(年):可出现", - * /"四个字符,有效范围为1970-2099年。

4. 如何监控 Quartz 的 job 执行状态:运行中,暂停中,等待中?

通过往表(新建一个操作日志表)里插入日志的形式:

1)运行中:通过 JobListener 监听器来实现运行时更改表信息。

2)暂停中:调用 scheduler.pauseTrigger()方法时,更改表中 job 信息。

3)等待中:新添加的 job 默认给其等待中的状态,也是更改表中的 job 信息 但是上面这种形式的麻烦之处是得频繁的往表里插入数据。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 诗|刘研 景|佳佳 聚光灯下 有你娇艳的身形 被虚化的 是粉丝 是青涩 他们簇拥着你 如同佛的僧徒 虔诚且仰慕 然...
    刘研心理咨询阅读 2,990评论 2 4
  • 秋月寄相思 夜幕低垂,晴朗的夜空闪烁着稀稀落落的星星,羞涩地眨着眼睛…… 一轮如玉...
    史丽娟_2ca4阅读 1,781评论 0 1
  • 3:00PM—6:30 兼职 晚上:刷楼,我更想学数据结构啊~ 做PPT 如果去国图...去了国图自己去动物园,然...
    月清凉阅读 1,118评论 0 0