Я предполагаю, что вы имели в виду «каждый второй день (через день), если это MON-FRI».
По Quartz CronTrigger Tutorial:
«1/3» в поле день-месяц означает «огонь каждые 3 дня, начиная с в первый день месяца».
Таким образом, 1/2
означает «огонь каждый второй день, начинающийся в первый день месяца». Значение cronExpression, например 0 0 12 1/2 * MON-FRI *
, должно быть близко к тому, что вы хотите. Проверка с помощью
org.quartz.CronExpression.isValidExpression("0 0 12 1/2 * MON-FRI *")
... говорит, что выражение действительно.
Однако, испытывая его немного дальше:
CronExpression e = new CronExpression("0 0 12 1/2 * MON-FRI *");
e.isSatisfiedBy(new DateTime(2012, 9, 26, 12, 0, 0, 0).toDate());
... бросает исключение:
> Exception in thread "main" java.lang.UnsupportedOperationException:
> Support for specifying both a day-of-week AND a day-of-month parameter
> is not implemented.
Так, кажется, jhouse is right, и вы просто не можете сделать это с помощью cronExpression.
Может быть что-то, как это будет работать в качестве обходного пути: Quartz cron expression for cron triggers executed every Nth Hour/Day/Week/Month
вы имели в виду «каждый второй день» или «второй день каждого месяца» (что говорит о вашей cronExpression)? – Jonik 2012-09-26 09:54:02