IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java EE Discussion :

[GlassFish] exception javax.naming.NameNotFoundException


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 28
    Par défaut [GlassFish] exception javax.naming.NameNotFoundException
    Bonjour,

    Je suis actuellement en train de m'initier à J2EE.
    Je m'appuie sur des exemples issus d'un livre (d'Antonio Goncalves) et j'essaye de créer mes propres EJB... histoire de m'y faire.

    Je dispose d'un entity Bean servant à décrire une personne, elle-même enregistrée dans une bdd MySQL. Je me sers de l'interface locale du stateless Bean associé afin d'afficher simplement la liste des personnes dans une page JSP...
    J'utilise GlassFish 2.1

    Je pense que c'est un problème avec JNDI mais je ne vois pas où...

    Voici mon instanciation de l'interface locale, avec l'appel à la méthode "listPersonne" (directement dans le JSP) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Context initialContext = new InitialContext();
    PersonneLocal personneLocal = (PersonneLocal) initialContext.lookup("testkev/stateless/Personne");      
    List<Personne> personnes = personneLocal.listPersonnes();
    Mon stateless Bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    @SuppressWarnings(value = "unchecked")
    @Stateless(name = "Personne", mappedName = "testkev/stateless/Personne")
    public class PersonneBean implements PersonneLocal {
     
        @PersistenceContext(unitName = "essai3PU")
        private EntityManager em;
     
        public List<Personne> listPersonnes() {
     
            Query query;
            List<Personne> personnes;// = new ArrayList<Personne>();
     
            query = em.createQuery("SELECT p FROM Personne p");
            personnes = query.getResultList();        
     
            /*Personne test = new Personne();
            test.setId(10);
            test.setAge(48);
            test.setNom("Manson");
            test.setPrenom("Kevin");
            
            personnes.add(test);*/
     
            return personnes;
        }
    }
    Et la trace de mon erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    StandardWrapperValve[jsp]: PWC1406 : servlet.service() pour le servlet jsp a émis une exception.
    javax.naming.NameNotFoundException
            at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:268)
            at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:191)
            at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
            at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:111)
            at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:409)
            at javax.naming.InitialContext.lookup(InitialContext.java:392)
            at org.apache.jsp.index_jsp._jspService(index_jsp.java from :79)
            at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
            at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
            at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
            at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
            at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:382)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    J'ajoute que j'ai visualisé l'arbre JNDI avec cet appli : http://developers.sun.com/appserver/...ditree_ug.html

    et que "testkev/stateless/Personne" n'y apparait pas.

    Ai-je oublié quelque chose ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Ne faut-il pas un préfixe ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java:comp/env/testkev/stateless/Personne

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 28
    Par défaut
    J'ai déjà croisé cette solution quelque part, mais ça ne fonctionne pas...
    A partir du moment où on met java:comp/env/testkev/stateless/Personne dans la JSP, cela déclenche l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    StandardWrapperValve[jsp]: PWC1406 : servlet.service() pour le servlet jsp a émis une exception.
    javax.naming.NameNotFoundException: No object bound to name java:comp/env/testkev/stateless/Personne
    A priori encore moins bon que précédemment.

    Sinon l'erreur ne change pas (j'ai essayé de placer "java:comp/env/testkev/stateless/Personne" dans l'ejb d'une part, puis dans la JSP d'autre part, puis dans les deux).

Discussions similaires

  1. Mon Erreur javax.naming.NameNotFoundException:
    Par nafnaf625 dans le forum JOnAS
    Réponses: 3
    Dernier message: 16/08/2010, 11h40
  2. [J2EE] exception javax.naming.NameNotFoundException
    Par neolitec dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 26/05/2010, 15h02
  3. [EJB3] [JBOSS4] javax.naming.NameNotFoundException
    Par ®om dans le forum Wildfly/JBoss
    Réponses: 41
    Dernier message: 12/03/2007, 18h23
  4. [EJB Stateless] javax.naming.NameNotFoundException: ejb not bound
    Par slymira dans le forum Java EE
    Réponses: 18
    Dernier message: 04/07/2005, 15h30
  5. [EJB] [JBOSS][javax.naming.NameNotFoundException]
    Par hamed dans le forum Java EE
    Réponses: 5
    Dernier message: 18/12/2003, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo