Automatique de l'EJB de la Minuterie sur le Serveur Glassfish pas de déclenchement
Donc, je suis en cours d'exécution Java OREILLE application sur un Glassfish 3.1. J'ai créé un bean session sans état avec un seul annoté de la fonction de minuterie dans mon Module EJB. Je n'ai pas le code exact, mais il ressemble à quelque chose comme ceci:
@Stateless
public class SessionTimerBean {
public SessionTimerBean(){
System.out.println("Constructor Called");
}
@Schedule(second="*/10", minute="*", hour="*")
public void scheduleTimer(final Timer t) {
System.out.println("Timer Called");
}
}
Lorsque je lance Glassfish les informations de débogage, ce qui semble indiquer qu'il reconnaît l'EJB de la minuterie d'annotations et de la méthode constructeur de la fève est appelée lors du lancement. Mais l'horloge de la méthode elle-même ne semble jamais se déclencher à tout moment.
Quelqu'un d'autre a eu ce problème? Est-il une autre configuration que je suis absent?
Merci d'avance.
Cela fait-il une diff u supprimer le paramètre de la méthode?
je voudrais aussi vérifier que les importations sont corrects javax.ejb.Timer etc..
Aucune chance avec ça? Même problème ici, pas de méthode params
Utilisé pour avoir de problème similaire, voir: stackoverflow.com/questions/13292473/...
je voudrais aussi vérifier que les importations sont corrects javax.ejb.Timer etc..
Aucune chance avec ça? Même problème ici, pas de méthode params
Utilisé pour avoir de problème similaire, voir: stackoverflow.com/questions/13292473/...
OriginalL'auteur jamespdlynn | 2012-10-26
Vous devez vous connecter pour publier un commentaire.
Ci-dessous Minuterie code fonctionne dans glassfish 3.1.2
mais arrêté de travailler quand j'ai enlevé le
Donc dans le serveur de journal que j'ai trouvé:
J'ai changé de "conserver à l'état" pour de faux. Je ne suis pas expert de ce qu'il fait aussi, mais en changeant la valeur false fait la minuterie de travail sans persistante=false
Je l'ai changé en dessous de fichiers
glassfish-ejb.xml:
glassfish-application.xml
Il est intéressant de noter que selon l'application, il peut être préférable paramètres persistants=false, afin de garder les garder à l'état d'=true. Dans ce cas, les sessions web, Stateful Session EJB instances et la persistance créé EJB les minuteries peuvent être conservés entre les déploiements. docs.oracle.com/cd/E18930_01/html/821-2417/gkhtr.html
OriginalL'auteur Aksel Willgert
Selon la spécification, les Timers sont persistants par la convention:
Aksel démontré le degré de persistance des garanties peut être désactivé. Le serveur glassfish utilise sa base de données par défaut pour la persistance de ses chronomètres (prendre un coup d'oeil ici). Je ne pouvais imaginer qu'il n'était pas en place et en cours d'exécution et à cause de cela, les horloges n'ont pas de travail. Utilisez la commande suivante pour démarrer:
OriginalL'auteur Roland Tiefenbrunner
Je rencontre le même problème lorsque j'ai été à la suite d'un tutoriel. J'ai été en utilisant Glassfish 4.1 (JavaEE 7 mise en œuvre). J'avais la même erreur
Je viens de créer une Dynamique Module Web. Pas une OREILLE projet avec un module EJB.
Suivant les réponses ci-dessus, j'ai d'abord changé ma @Schedule() annotation par l'insertion de la
persistent=false
attribut commePuis je suis allé à mon glasshish-web.xml le descripteur de déploiement, et je place la configuration suivante
<keep-state>false</keep-state>
dans la section comme suit:OriginalL'auteur Elom Atsou Agboka