SpringTaskタスクスケジューリングCronのルール


@Component
public class SeckillTask {
	/**
	 *    
	 */
	@Scheduled(cron="* * * * * ?")
	public void task(){
		System.out.println("       "+new Date());		
	}		
}


Cron式は文字列で、文字列は5つまたは6つのスペースで区切られ、6つまたは7つのドメインに分けられ、各ドメインは1つの意味を表します.Cronには、(1)Seconds Minutes Hours DayofMonth Month DayofWeek Year(2)Seconds Minutes Hours DayofMonth DayofWeekドメインごとに表示される文字は、次のとおりです.Seconds:表示可能"、-*/"4文字、有効範囲0-59の整数Minutes:表示可能"、-*/「4文字、有効範囲0-59の整数Hours:出現可能」、-*/「4文字、有効範囲0-23の整数DayofMonth:出現可能」、-*/?LWC「8文字、有効範囲1-31の整数Month:出現可能」、-*/「4文字、有効範囲1-12の整数またはJAN-DEc DayofWeek:出現可能」、-*/?L C#「4文字で、有効範囲は1-7の整数またはSUN-SATの2つです.1は日曜日、2は月曜日、Yearの順に類推します.」-*/"4文字で、有効範囲は1970-2099年に各ドメインで数値が使用されましたが、(1):ドメインに一致する任意の値を表し、Minutesドメインで使用される場合、つまり毎分イベントがトリガーされることを意味する特殊文字も表示されます.(2)?:DayofMonthとDayofWeekの2つのドメインでのみ使用できます.ドメインの任意の値にも一致しますが、実際には一致しません.DayofMonthとDayofWeekは互いに影響し合うからです.例えば毎月の20日にスケジュールをトリガしたい場合、20日がいったい何曜日であろうと、13 13,15,20*?そのうち最後は?しか使えませんが、*は使用できません.*を使用すると、曜日に関係なくトリガーされますが、実際にはそうではありません.(3)-:範囲を示す、例えばMinutesドメインで5-20を用いる、5分から20分毎に1回(4)/:開始時間がトリガを開始し、その後一定時間毎に1回、例えばMinutesドメインで5/20を用いると、5分ごとに1回、25,45等がそれぞれトリガを開始することを意味する.(5)::列挙値のリストを示す.たとえば、Minutesドメインで5,20を使用すると、5分と20分ごとにトリガーされます.(6)L:最後は、DayofWeekおよびDayofMonthドメインにのみ表示され、DayofWeekドメインで5 Lを使用すると、最後の木曜日にトリガーされることを意味する.(7)W:有効稼働日(月曜日から金曜日)を表し、DayofMonthドメインにのみ表示され、指定した日付に最も近い有効稼働日にイベントがトリガーされます.たとえば、DayofMonthでは5 Wを使用し、5日が土曜日の場合、最近の平日:金曜日、つまり4日にトリガーされます.5日が日曜日であれば、6日(月)にトリガーされます.5日が月曜日から金曜日の1日であれば、5日にトリガーされます.もう一つ、Wの最近の検索は月(8)LWを越えません:この2つの文字は、ある月の最後の平日、つまり最後の金曜日を表すことができます.(9)#:毎月の曜日を決定するために使用され、DayofMonthドメインにのみ表示されます.例えば4#2で、ある月の第2水曜日を表す.1.3.2 Cron式の例0 0 10,14,16*?毎日午前10時、午後2時、4時0/30 9-17*?朝九晩五時間の勤務時間は30分ごとに0 0 0 0 12?*WEDは毎週水曜日の昼12時「0 0 0 12*?」毎日昼12時に「0 15 10?*」をトリガーし、毎日午前10:15に「0 15 10*?」をトリガーします.毎日午前10時15分に「0 15 10**?*」がトリガーされ、毎日午前10時15分に「0 15 10**?2005」がトリガーされ、2005年の毎日午前10時15分に「0*14*?」がトリガーされます.毎日午後2時から午後2時59分までの1分間ごとに「0 0 0/5 14*?」をトリガーします.毎日午後2時から午後2時55分までの5分ごとに「0 0 0/5 14,18*?」毎日午後2時から2時55分、午後6時から6時55分までの5分ごとに「0 0-5 14*?」毎日午後2時から午後2時05分までの1分間ごとに「0 10,44 14?3 WED」がトリガーされ、毎年3月の水曜日の午後2:10と2:44に「0 15 10?*MON-FRI」がトリガーされます.月曜日から金曜日の午前10:15に「0 15 10 15*15?」がトリガーされます.毎月15日午前10時15分に「0 15 10 L*?」毎月の最終日の午前10時15分に「0 15 10?*6 L」がトリガーされます毎月の最終日金曜日午前10時15分に「0 15 10?*6 L 2002-2005」がトリガーされます2002年から2005年までの毎月の最終日金曜日午前10時15分に「0 15 10?*6#3」がトリガーされます毎月の第3金曜日午前10時15分にトリガーされます