TreeSched

TreeSched is a way to define very flexible schedules in Java.

TreeSched was so called because the scheduling definition is defined as an hierarchical tree of schedules, each providing a tighter constraint on the time frame of the schedule - from yearly events down to the millisecond.

TreeSched's use of a tree-like hierarchy of schedules allows more complicated schedules than that which Cron and it's equivalents can provide. For example the user can schedule events by the hour in January, but only on Tuesdays for the rest of the year.

TreeSched allows breaks in a schedule for holidays, weekends or even just lunch times.

TreeSched can provide a schedule for the last working day of the month - again accounting for holidays, or any occurrence of a time, second Tuesday of the month, or second Tuesday or Wednesday whichever is first... or last - pretty much any combination of times you can think of.

TreeSched is now part of Oddjob. For more information please see the Use Guide section here