Я использую EJB3.1 TimerService для планирования таймеров на Java.TimerService: есть ли способ предотвратить запуск 2 экземпляров одновременного таймера?
Есть ли общий способ предотвратить запуск 2 одновременных экземпляров таймера? Допустим, мой таймер срабатывает каждые 5 минут. Если по какой-то причине таймер запустился в 5:00 и закончил работу в 5:07, я хочу бежать в следующий раз в 5:12 (или в 5:10, просто пропустите таймаут в 5:05). Есть ли простой/встроенный способ сделать это?
спасибо
Спасибо. Я думал, что, возможно, я могу использовать информацию из TimerService.getTimers(), но не нашел, как это сделать. Вероятно, я пойду с решением семафора (например, статическим переменным флагом), если я не найду ничего встроенного. – lili
Вместо того, чтобы катать собственный семафор, вы можете использовать синглтон. По умолчанию параллелизм, управляемый контейнером, с методами записи будет работать для метода Timeout или Schedule. –
Я не могу использовать singleton, потому что у меня может быть несколько экземпляров (экземпляр на пользователя) – lili