Как остановить бесконечный таймер EJB 3?

Я плохо знаком с EJB 3. Я использую следующий код для запуска бесконечного таймера EJB 3, затем развертывающего его на JBOSS 4.2.3

@Stateless
public class SimpleBean  implements SimpleBeanRemote,TimerService  {

@Resource
TimerService timerService;
private Timer timer ;
@Timeout
public void timeout(Timer timer) {
    System.out.println("Hello EJB");

 }
}

затем вызов его

  timer = timerService.createTimer(10,  5000, null);

Это работает хорошо. Я создал клиентский класс, который называет метод, который создает таймер и метод, который называют, когда таймер испытывает таймаут.

Я забываю называть отмену затем, она не останавливается, .redeploy с вызовом отмены никогда не останавливают ее. перезапустите Jboss 4.2.3 никогда остановка это. Как я могу остановить таймер EJB? Спасибо за помощь.

17
задан Qantas 94 Heavy 8 February 2014 в 14:43
поделиться

1 ответ

    public void stop(String timerName) {
    for(Object obj : timerService.getTimers()) {
        Timer t = (Timer)obj;
        if (t.getInfo().equals(timerName)) {
        t.cancel();
        }
    }
}
27
ответ дан 30 November 2019 в 12:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: