javaquartz定时_Java初级⾯试题之Quartz定时任务 北留中学Java初级⾯试题之Quartz定时任务
1、什么是Quartz框架?
威廉三世
Quartz是⼀个开源的作业调度框架,它完全由Java写成,并设计⽤于J2SE和J2EE应⽤中。它提供了巨⼤的灵活性⽽不牺牲简单性。你能够⽤它来为执⾏⼀个作业⽽创建简单的或复杂的调度。2、配置⽂件l各个属性作⽤?
● Job:表⽰⼀个任务(⼯作),要执⾏的具体内容。
● JobDetail:表⽰⼀个具体的可执⾏的调度程序,Job是这个可执⾏程调度程序所要执⾏的内容,另外JobDetail还包含了这个任务调度的⽅案和策略。
● Trigger:代表⼀个调度参数的配置,什么时候去调。
● 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的整数。
ca3308● DayofWeek(⽇of星期):可出现",-*/?L C#"四个字符,有效范围为1-7的整数1表⽰星期天,2表⽰星期⼀,依次类推。
记者日记● Year(年):可出现",-*/"四个字符,有效范围为1970-2099年。
4、如何监控Quartz的job执⾏状态:运⾏中,暂停中,等待中?
通过往表(新建⼀个操作⽇志表)⾥插⼊⽇志的形式:
应用网关
● 运⾏中:通过JobListener来实现运⾏时更改表信息。 ● 暂停中:调⽤scheduler.pauseTrigger()⽅法时,更改表中job信息。
● 等待中:新添加的job默认给其等待中的状态,也是更改表中的job信息但是上⾯这种形式的⿇烦之处是得频繁的往表⾥插⼊数据。