Информация о кластере таймеров EJB 3.0 - PullRequest
1 голос
/ 05 августа 2011

Мне удалось заполучить службу таймера EJB3.0. Мне удалось заставить тайм-аут работать, и я смог вызвать таймер с помощью прослушивателя контекста сервлета. Я развернул простое приложение, которое отправляет оповещения на определенный интервал. Я использую WL 10.3.1 (не поддерживает EJB3.1, чтобы использовать планировщик). Я получаю оповещения дважды одновременно (у меня есть кластер с 2 управляемыми серверами). Я рассмотрел несколько примеров использования таймера в кластере WL, например: http://shaoxiongyang.blogspot.com/2010/10/how-to-use-ejb-3-timer-in-weblogic-10.html. Но я бы хотел избежать Конфигурация на сервере. Есть ли другой способ управления этим в Cluster Env. Я хочу, чтобы один таймер работал в любое время в кластере Env.

Спасибо ...

1 Ответ

0 голосов
/ 08 августа 2011

Слушатели контекста сервлета безоговорочно создают таймер во время contextInitialized? Если это так, это объясняет проблему, поскольку слушатель контекста сервлета будет работать в каждой JVM. Вам нужно как-то проверить, был ли таймер уже создан первым. Либо используйте getTimers, либо проверьте / вставьте строку в свою таблицу базы данных.

...