0
特定の時間範囲を除いて、クォーツスケジューラを使用してスケジュールを設定します。特定の時間範囲を除いた石英スケジューラ
例:2AM - 午前3時と午後5時30分 - 午後5時45分
使用のcron表現とcronスケジューラなく、これを達成するための他の方法はありますか?
特定の時間範囲を除いて、クォーツスケジューラを使用してスケジュールを設定します。特定の時間範囲を除いた石英スケジューラ
例:2AM - 午前3時と午後5時30分 - 午後5時45分
使用のcron表現とcronスケジューラなく、これを達成するための他の方法はありますか?
これは、Quartzカレンダーが使用されているものです。特定の昼間のの範囲を除外する場合は、DailyCalendarを使用することをお勧めします。
1つのDailyCalendarで1日の時間範囲を除外できます。複数(2つ)の範囲を除外したいので、次のように2つのDailyCalendarsを組み合わせる必要があります:
// calendar that excludes the 2am-3am day time range
DailyCalendar dc1 = new DailyCalendar(2,0,0,0,3,0,0,0);
// calendar that excludes the 5:30pm-5:45pm day time range
DailyCalendar dc2 = new DailyCalendar(17,30,0,0,17,45,0,0);
// combine the two calendars so that both ranges are excluded by dc2
dc2.setBaseCalendar(dc1);
// register the calendar with the scheduler
scheduler.addCalendar("MyExcludedDayTimeRangesCalendar", dc2, true, true);
MutableTrigger trigger = ... create SimpleTrigger/CronTrigger/DailyTimeInterval/CalendarIntervalTrigger instance
// associate the created trigger with the registered calendar - the trigger will exclude calendar's time ranges
trigger.setCalendarName("MyExcludedDayTimeRangesCalendar");
...
なぜcronスケジューラを使いたくないのですか? また、私はあなたが成し遂げたいことを100%明確にしているわけではありません。あなたの例を言い換えることができますか? – dquijada
@dquijada私はcronの表現にはうまくいかず、知りたいのですが、クォーツスケジューラの他のライブラリがこの仕事をすることができますか? 最後に、cron式が解析され、解析された値がオブジェクトの変数に設定されます。 同じことをするための設定メソッドがいくつかあるはずです。 –