Мои настройки: NetBeans 8.0.2 JEE7 с EJB3.2 работает на Glassfish 4,2Отменить TimerService начал с @Schedule
Привет, я начал службу таймера
@Schedule(second = "*/10", minute = "*", hour = "*", persistent = false)
public void chronJobSySODate() {
System.out.println("Timer event: " + new Date());
}
я назвал этот метод другой Bean с @PostConstruct Аннотация
@PostConstruct
public void startChronJob(){
chronJobBean.chronJobSySODate();
}
Теперь несмотря на то что я, хотя из-за persistent = false
таймер будет б e ушел после убийства Glassfish, он все еще присутствует даже в другом проекте NetBeans, запущенном на том же сервере Glassfish.
я уже смотрел на эту StackOverflow тему Is there a way to stop/re-start ejb 3.1 automatic timer during runtime?
Так что я попытался
import javax.annotation.Resource;
import javax.ejb.TimerService;
@Resource
TimerService timerService;
public void cancelAllTimers() {
System.out.println("cancelAllTimers");
for (Timer timer : timerService.getTimers()) {
System.out.println("Canceling Timer: info: " + timer.getInfo());
timer.cancel();
}
}
Но в отношении к переменной timerService нет таймеров (но таймер до запуска.