Realizei um teste antes de trocar a classe AgendarEmailJob de @Stateless para @Singleton, tanto a primeira quanto a segunda anotação geram mensagens de warning quando o EJB tenta executar mais de uma vez o mesmo método, ou seja, quando o cenário descrito no vídeo ocorre.
21:25:30,001 WARN [org.jboss.as.ejb3.timer] (EJB default - 2) WFLYEJB0043: A previous execution of timer [id=3e881742-cb43-4a99-a5d3-85f3d6931c68 timedObjectId=curso-alura-ejb.curso-alura-ejb.AgendarEmailJob auto-timer?:true persistent?:true timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl@5088914f previousRun=Thu Dec 10 21:25:22 BRT 2020 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Thu Dec 10 21:25:30 BRT 2020 timerState=IN_TIMEOUT info=null] ScheduleExpression [second=*/10;minute=*;hour=*;dayOfMonth=*;month=*;dayOfWeek=*;year=*;timezoneID=null;start=null;end=null] is still in progress, skipping this overlapping scheduled execution at: Thu Dec 10 21:25:30 BRT 2020.
Isso é normal? Se sim, então qual a vantagem de utilizar @Singleton sendo que aparentemente @Stateless já está fazendo a verificação para não executar mais de uma vez o Job?