If I understand you correctly, you can create Timers to do all of those things:
ScheduleExpression exp;
exp = new ScheduleExpression().minute(0).second(0);
exp.dayOfWeek("mon-sat").hour("9,11,13,15,17");
service.createCalendarTime(exp);
exp = new ScheduleExpression().minute(0).second(0);
exp.dayOfWeek("fri").hour("9-14");
service.createCalendarTime(exp);
exp = new ScheduleExpression().minute(0).second(0);
exp.dayOfWeek("sat").hour("9,11,13");
service.createCalendarTime(exp);
There are some conflicts in the above timers, but that seems to be what you're asking for. You may want to stagger them by giving each a different minute of the hour; for instance, you may want the second to use minute(20)
and the third to use minute(40)
.
Reference: ScheduleExpression
documentation