Quartz定時器就是對java中Timer定時器的封裝,支持Cron表達式定時
使用步驟:
1.定義任務類(指定到指定時間干什么)
2.將任務類配置到JobDetail類中
3.將JobDetail與Trigger(觸發(fā)器)配對(Cron表達式是Trigger)
4.將JboDetail+Trigger放入調(diào)度中心
4.配置注解掃描
____________________________________________________________________
上面用到的Cron表達式
源于Unix系統(tǒng)中的Cron表達式,精度只到分鐘
我們使用的Cron表達式,精度到秒
位數(shù)也從Unix中的6位變?yōu)?位=>七子表達式
秒 分 時 日 月 周 年
*:號
任意值 *****?*(每年的每月的每日的每份的每一秒都執(zhí)行一次)
?:號只能使用在周或日位置上(控制那一天執(zhí)行時,要么通過日來表達要么通過周來表達,二選一) 表示忽略或省略
某一位上需要填入多個值時,可以將多個值用逗號隔開
0,15,30,45 * * ? * * *(每15秒執(zhí)行一次)
-:表達范圍 1-10表示1到10的范圍
0-15 * * ? * * *(每分鐘的0到15秒之間每秒執(zhí)行一次)
/:表達間隔 0/15 從開始每隔15單位執(zhí)行(0/15 * * ? * * *)
0 0 20 1/3 * ? *(每月從1號開始每隔三天晚上八點執(zhí)行一次)
L:(last)表示最后一個單位,只能用在日或周上
0 0 21 L * ? *(每月最后一天的晚上9點)
0 0 21 ? 0 2L *(每月最后一個周一的晚上9點)
w:(work)表示工作日,(周一到周五工作日,只能使用在上)
0 0 21 w * ? *(每月周一到周五的晚上九點執(zhí)行)
0 0 21 15w * ? *(每月的15號晚上9點執(zhí)行,15號不是工作日就到15號最近的工作日執(zhí)行,如果15號是周六name就會在周五觸發(fā),如果是周日就在周一觸發(fā))
#:(Number)
表示第幾個指定單位,只能使用在周上
0 0 21 ? * 1#3 *(每月的第三個周日的晚上九點執(zhí)行)