Таймеры создаются в EJB3 с использованием TimerService.createTimer()
, а затем запускаются любым методом обратного вызова, аннотированным аннотацией @Timeout
, т.е.:
@Resource
private TimerService timerService;
public void createHampster() {
Hampster hampster = new Hampster("Fluffy III");
timerService.createTimer(3000, 3000, hampster);
}
(...)
@Timeout
public void feedHampster(Timer timer) {
Hampster hampster = (Hampster) timer.getInfo()
//(...)
}
Итак, мой вопрос: должны ли эти два блока кода находиться в одном бине? Таймеры наследуют боб, в котором они были созданы, или они глобальны? Мое собственное тестирование предполагает, но первое, и я не нашел ничего определенного в документации.