2010-08-09 6 views
1

J'essaie de régler une minuterie pour un Stateless EJB GlassFish 2.1:Service de minuterie Glassfish: qu'est-ce que je fais mal?

@Stateless(mappedName = "ServiceEJB") 
public class ServiceEJB implements ServiceEJBRemote { 

    // other methods ... 

    // defining the timer 
    @Schedule(second="*/15", minute="*", hour="*") 
    public void test(){ 
    System.out.println("++++++++ timer!!! ++++++++++++++++++++"); 
    } 

} 

D'après ce que j'ai lu, tout ce que je dois faire est de déployer l'application et cela devrait fonctionner. Je m'attendais à voir dans le journal le texte imprimé du test de la méthode (toutes les 15 secondes). Y a-t-il d'autres mesures à prendre pour que cela fonctionne?

Merci!

+0

Etes-vous capable de créer un initialiseur statique pour confirmer que la classe est en cours de chargement? par exemple statique {System.out.println ("LOADED ServiceEJB class");} –

+0

Êtes-vous sûr d'utiliser la bonne version d'EJB? L'annotation '@ Schedule' est nouvelle avec EJB3.1 alors que Glassfish 2.1 est livré avec EJB3.0. – musiKk

+0

@jowierun - la classe se charge comme prévu @musikk - Je vais essayer avec GF3.0.1 et revenir ici. – Bogdan

Répondre

1

Après mon commentaire à la question:

L'annotation @Schedule est une caractéristique de 3.1 EJB. Glassfish 2.1 utilise EJB 3 tandis que Glassfish 3 utilise EJB 3.1 et devrait donc être mieux adapté.

Questions connexes