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

Wildfly/JBoss Java Discussion :

javax.naming.NameNotFoundException: LocalMonBean not bound


Sujet :

Wildfly/JBoss Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut javax.naming.NameNotFoundException: LocalMonBean not bound
    Bonjour,

    je débute avec J2EE et je veux créer une servlet qui me récupère les utilisateurs enregistrer dans ma base de données.

    donc voilà j'ai cette error :
    javax.naming.NameNotFoundException: LocalMonBean not bound

    j'utilise Eclipse avec JBoss 4.0

    voila les classes que j'utilise:

    MonBean.java

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    package ejb;
     
     
    import java.util.List;
     
     
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
     
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
     
     
    @Stateless(name="LocalMonBean")
    @Remote(LocalMonBean.class)
     
    public class MonBean implements LocalMonBean {
     
    	@PersistenceContext
    	EntityManager moi;	
    	public void ajouter(Utilisateurs utilisateur) {
     
    		moi.persist(utilisateur);
    	}
     
    	public List<Utilisateurs> listerTousLesUsers() {
     
    		return moi.createQuery("Select p From User p").getResultList();
    	}
     
    	public Utilisateurs rechercherUser(String id) {
     
    		return moi.find(Utilisateurs.class,id );
    	}	
    }
     
     
    LocalMonBean.java
     
    package ejb;
     
    import java.rmi.RemoteException;
    import java.util.List;
    import javax.ejb.CreateException;
    import javax.ejb.Remote;
     
    @Remote
    public interface LocalMonBean {
    	public void ajouter(Utilisateurs utilisateur);
    	public Utilisateurs rechercherUser(String id);
    	public List<Utilisateurs>listerTousLesUsers();
    }
     
    Utilisateurs.java
     
    package ejb;
    import java.io.Serializable;
    import javax.persistence.Entity;
    import javax.persistence.Id;
     
     
    @Entity
    public class Utilisateurs implements Serializable {
     
    @Id
    private String id;
    private String nom;
     
    public Utilisateurs(){
    	super();
    }
     
    public Utilisateurs (String id){
    	this.id = id;
    	}
     
    public Utilisateurs (String id , String nom){
    	this.id = id;
    	this.nom = nom;
    }
     
    public String getId(){
    	return id;
    }
     
    public void setNom(String nom){
    	this.nom = nom;
    }
     
    public String getNom(){
    	return nom;
    }
     
    public String toString(){
    	return "Utilisateur n°" + id + " - " + nom;
     
    }
    }
    MaServlet.java
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    package web;
     
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Properties;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import ejb.LocalMonBean;
    import ejb.MonBean;
    import ejb.Utilisateurs;
     
     public class MaServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
     
    	private static final long serialVersionUID = 4437048566841895332L;
    	public MaServlet() {
    		super();
    	}   	
     
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<head>");
            out.println("<title>");
            out.println("Product Servlet</title>");
            out.println("</head>");
            out.println("<body style=\"background : white; color : black;\">");
            out.println("Liste des utilisateurs : ");
            out.println("<br>");
     
            try {
            	Context jndiContext = getInitialContext();
     
    			Object ref = jndiContext.lookup("LocalMonBean/remote");
    			LocalMonBean utilisateur = (LocalMonBean) ref;
     
            List<Utilisateurs> utilisateurs = utilisateur.listerTousLesUsers();
            for (Iterator iter = utilisateurs.iterator(); iter.hasNext() ;  ) {
               Utilisateurs eachUser = (Utilisateurs) iter.next();
     
               out.println(eachUser);
    	}
     
     
     
    	}  	catch (NamingException e) {
            e.printStackTrace();
        }
    	out.println("</body></html>");
     
    }
    	private static Context getInitialContext() throws NamingException {
     
     
            Properties env = new Properties();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
            env.put(Context.URL_PKG_PREFIXES,"org.jboss.naming:org.jnp.interfaces");
            env.put(Context.PROVIDER_URL, "localhost:1099");
     
            return new InitialContext(env);
    }
     }
    SVP j'ai besoin de votre aide ça fait 2 jours que je me casse la tête avec cette erreur, je vous rappelle que je débute dans J2EE.


    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Comment as-tu déployé tes beans? As-tu vérifié avec la console d'administration de ton jboss que les bean sont bien déployés?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse rapide.
    je deploi mon projet sous eclipse avec add project dans le serveur JBOSS.

    et dans la console de JBOss http://localhost:8080/jmx-console/
    il y a cette ligne:


    jboss.j2ee

    * module=TesteEJB.jar,service=EJB3

    je pense qu'il est deployer.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    cà c'est le module, tu dois aussi trouver plus bas la liste de toutes les bean, une entrée JMX par bean, avec leur état leur type le pooling etc mais surtout leur nom jndi.

    Parce que je ne suis pas sur que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object ref = jndiContext.lookup("LocalMonBean/remote");
    Sois correct, il me semble qu'il y a un préfixe à rajouter devant tous les beans.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    voilà ce qu'il y a plus bas :

    jboss.web.deployment

    * id=-1288032448,war=TesteWeb.war
    * id=-148891679,war=jmx-console.war
    * id=-426936315,war=web-console.war
    * id=1103893620,war=jbossws-context.war
    * id=1428864902,war=jbossmq-httpil.war
    * id=1858387289,war=ROOT.war
    * id=348890090,war=invoker.war

    et dans service=JNDIView quand je clique sur invoque java.lang.String list() :

    java:comp namespace of the Teste.ear/TesteWeb.war application:

    +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
    +- ORB (class: org.jacorb.orb.ORB)
    +- env (class: org.jnp.interfaces.NamingContext)
    | +- security (class: org.jnp.interfaces.NamingContext)
    | | +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
    | | +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
    | | +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
    | | +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)


    Merci d'avance pour votre aide.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    ya quelqu'un qui peut m'aider j'ai vraiment besoin de passer cette étape, car j'ai fait projet que je peut accéder a la base de données mais via une class main,
    et la j'ai besoin d'accéder a cette base via un servlet.

    Merci

  7. #7
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    JBoss AS 4.0 ne supporte pas les EJB3

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    effectivement JBoss 4 ne supporte pas les EJB3 , j'ai installer JBoss 5 mais il met trop de temps pour démarrer donc j'ai installer JBoss 4.2, ça marche bien.

    Merci pour votre aides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. javax.naming.NameNotFoundException: remote not bound
    Par iMacXus dans le forum Wildfly/JBoss
    Réponses: 12
    Dernier message: 06/10/2011, 23h51
  2. Réponses: 9
    Dernier message: 05/06/2010, 22h04
  3. JBoss 4.2.3 javax.naming.NameNotFoundException: Bean not bound
    Par altair_606 dans le forum Wildfly/JBoss
    Réponses: 7
    Dernier message: 11/06/2009, 17h10
  4. [JNDI] javax.naming.NameNotFoundException: PremierEJB3 not bound
    Par champion dans le forum Java EE
    Réponses: 2
    Dernier message: 19/02/2008, 11h03
  5. [EJB Stateless] javax.naming.NameNotFoundException: ejb not bound
    Par slymira dans le forum Java EE
    Réponses: 18
    Dernier message: 04/07/2005, 15h30

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