Sto seguendo il tutorial Using the Timer Service per creare un'esecuzione pianificata semplice. Provando l'approccio automatico e usando WildFly 8.1.0 Final per questo.Java EE 7 Automatic Timer (EJB Timer) non funziona per WildFly 8.1.0
Session Bean
@Singleton
@Startup
public class HelloJob {
private static final Logger logger = Logger.getLogger(HelloJob.class);
public HelloJob() {
logger.error(">>> Hello Job Created.");
}
@Schedule(second="*")
public void sayHello() {
logger.error(">>> Server Hello!");
}
}
Sulla distribuire la classe è correttamente un'istanza di stampare il messaggio >>> Hello Job Created.
, ma il metodo sayHello()
non viene mai chiamato.
Secondo il tutorial, lo @Schedule(second="*")
significa che deve essere eseguito ogni secondo.
L'impostazione di un attributo su un asterisco (*) rappresenta tutti i valori consentiti per l'attributo .
Solo i bean di sessione stateful non sono consentiti per i timer e sto utilizzando un singleton, che viene anche utilizzato nell'esempio.
Il servizio timer del contenitore bean enterprise vi permette di pianificare cronometrato le notifiche per tutti i tipi di bean enterprise ad eccezione per session bean stateful.
Ha funzionato come un fascino. – BonanzaOne