Я плохо знаком с 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? Спасибо за помощь.
public void stop(String timerName) {
for(Object obj : timerService.getTimers()) {
Timer t = (Timer)obj;
if (t.getInfo().equals(timerName)) {
t.cancel();
}
}
}