2010-02-19 3 views
0

Je développe une application web en utilisant netbeans avec GlassFishv3. De temps en temps, quand j'ajoute une nouvelle fonctionnalité dans mon application, glassfish commence à harceler avec des erreurs stupides, après beaucoup de perte de temps et de panique, je redémarre glassfish et exécute à nouveau mon application, puis soudainement les erreurs vont tous loin et mon site commence à agir correctement. (Ou au cas où je l'ai fait une erreur réelle, je reçois une erreur descriptive & raisonnable de GF.)Des erreurs étranges de Glassfish occasionnelles, résolues par un redémarrage?

[Edit:. Le reste de la question a été révélé avoir été ma propre erreur]

Mais les problèmes ne s'arrêtent pas là. Récemment, j'ai ajouté la possibilité d'écrire des commentaires dans une page (JSF), après que l'utilisateur soumet son commentaire, je l'ajoute à la base de données et redirige vers la même page, pour que la page rafraîchisse avec le nouveau commentaire. !

La base de données MySQL sous-jacente montre que le nouveau commentaire a été ajouté, mais la page ne montrera pas le nouveau commentaire! J'ai tout essayé (par exemple en supprimant le cache du navigateur, en utilisant différents navigateurs) mais seulement après le redémarrage de GF, c'est quand la page affiche le nouveau commentaire!

Avez-vous une idée de ce que le problème pourrait être? Serait-ce un bug de Glassfish?

Ce que je suis en utilisant: JSF2, EJB3.1, JPA, MySql

+0

Sans montrer de code, c'est ** impossible ** de dire quoi que ce soit.Et si je devais parier sur quelque chose, je parierais sur un bug dans votre code plutôt que dans GFv3. Alors s'il vous plaît montrez votre code ... –

Répondre

0

Apparemment, la liste des commentaires n'est pas rafraîchi avec un commentaire. Vérifiez si la logique de chargement des données est correcte. Peut-être l'avez-vous placé dans le constructeur d'un bean scoped de session au lieu d'un bean scoped de requête. Peut-être que vous n'avez pas rechargé la liste de DB après l'insertion (et la validation). Au lieu de redémarrer GF, essayez de redémarrer le webbrowser (fermez TOUS les onglets/instances) et rouvrez la page. Si cela fonctionne, alors les données anciennes/non rechargées viennent en effet d'être affichées depuis la portée de la session. Si cela ne résout pas le problème, alors le problème est peut-être plus dans la zone JPA, le débogage si le nouveau commentaire est réellement persistant et/ou si la liste est réellement demandée à partir de la BD et non du cache, etc.

0

merci pour les réponses,

Oui, comme Balus et Pascal mentionné, le problème résidait dans ma propre logique et heureusement pas Glassfish.

Incompétence était de ma part, je l'avoue et présente mes excuses;)

En effet, le problème a été dans la région JPA, je l'avais oublié de fusion et rafraîchissement mon entité JPA après avoir ajouté le commentaires; donc bien que les commentaires aient été ajoutés dans la base de données, mes entités JPA ne refléteraient pas les changements. A propos, FYI, j'ai toujours le problème occasionnel de voir mes projets ne pas se construire et/ou ne pas se déployer en GF (en émettant des messages d'erreur étranges), ce qui est toujours résolu en redémarrant GF (plus précisément, en redémarrant le domaine par défaut dans GF);

Ce pourrait probablement être mon erreur, ou le bogue de déploiement de netbeans6.8, ou dans le cas improbable, la faute de GF.

Questions connexes