Ответ 1
Как четко указано в документации для @Schedule и @Schedules, вам нужно иметь две аннотации @Schedule, если вы запускаете два графика - даже если вам не нравится этот факт.
Из-за ограничений типа cron, имеющих диапазоны только внутри отдельных элементов (часы, минуты, секунды...), просто не представляется возможным предоставить дополнительную информацию о пропуске последних двух исполнений в *: 50 и *: 55 только в 5 вечера.
Тем не менее, вы, вероятно, получите что-то вроде
@Schedules({
@Schedule(hour="10-16" minute="*/5"),
@Schedule(hour="17" minute="0,5,10,15,20,25,30,35,40,45")
})
По мере того, как вы заканчиваете с информацией о расписании в исходном коде таким образом (даже если это в виде аннотации), вы могли бы так же работать каждые пять минут и сразу возвращаться из метода, если вызвали после 5:49 вечера