2015-12-27 4 views
0

Мне нужно создать 3 таймера.EJB Создание календарных выражений таймера

Первый таймер должен тайм-аут каждые 3 дня, но перевернуться в течение следующего месяца. Например, если я хочу, чтобы таймер запускался каждые 3 дня. Таким образом, таймер должен тайм-аут в дни месяца 1, 4, 7, 10, 13, 16, 19, 22, 25, 28. Но если в этом месяце 31 день, то таймер должен выступить на 31-й день, а затем на 3-й день следующего месяца, если в этом месяце 30 дней он выйдет в первый день следующего месяца, но если в этом месяце всего 28 дней, выйдет на 3-й день следующего месяца.

Второй таймер каждые 3 недели в воскресенье.

Третий таймер запускается каждые 6 месяцев в конце месяца.

Я пытаюсь использовать таймер на основе календаря (timerService.createCalendarTimer (расписание)), но я не мог найти способ установить вышеуказанные таймеры, так как интервал x/y не применяется в течение месяцев и недель. И в течение нескольких дней он не поддерживает показ в следующем месяце. Есть идеи?

ответ

0

Вы проверили использование ScheduledExpression? Некоторые другие примеры here

Если стандартный API не охватывает вас потребности, то вам, возможно, необходимо рассмотреть возможность использования более конкретной библиотеки, например Quartz

Надежда, что помогает.