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 :

EmployeBeanDAO not bound


Sujet :

Java EE

  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut EmployeBeanDAO not bound
    Bonjour
    Je développe une simple application avec les EJB3
    Pour mon application j’ai définis un EJB Entity Employe

    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
     
     
    package ejb.entity;
     
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Table;
    import java.io.Serializable;
     
     
    @Entity
    @Table (name="employe")
    public class Employe implements Serializable{
     
     
    	private int matricule;
    	private String nom;
    	private String prenom;
    	private String adresse;
    	private float salaire;
    	private int age;
     
    	public Employe(){
    	}
     
    	@Id
    	public int getMatricule() {
    		return matricule;
    	}
    	public void setMatricule(int matricule) {
    		this.matricule = matricule;
    	}
    	public String getNom() {
    		return nom;
    	}
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    	public String getPrenom() {
    		return prenom;
    	}
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
    	public String getAdresse() {
    		return adresse;
    	}
    	public void setAdresse(String adresse) {
    		this.adresse = adresse;
    	}
    	public float getSalaire() {
    		return salaire;
    	}
    	public void setSalaire(float salaire) {
    		this.salaire = salaire;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}	
    }
    puis j'ai définis un bean de type session stateless

    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
     
    package ejb.session;
    import java.util.ArrayList;
     
    import ejb.entity.Employe;
    import javax.ejb.Local;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
     
    import org.jboss.annotation.ejb.LocalBinding;
    import org.jboss.annotation.ejb.RemoteBinding;
     
    import ejb.session.EmployeBeanDAOLocal;
     
     
    @Stateless
    @Local({EmployeBeanDAOLocal.class})
    @LocalBinding(jndiBinding="EmployeBeanDAO/Local")
    @Remote({EmployeBeanDAOLocal.class})
    @RemoteBinding(jndiBinding="EmploeBeanDAO/Remote")
     
    public class EmployeBeanDAO implements EmployeBeanDAORemote, EmployeBeanDAOLocal {
     
     
    	@PersistenceContext (unitName="project")
            private EntityManager em;
     
     
     
        public EmployeBeanDAO() {
        }
     
        public void add(Employe emp){  
        	em.persist(emp);
        }
     
        public Employe find(int matricule){
        	return em.find(Employe.class,matricule);
        }        
    }

    j'ai crée la table "employe" dans base de données PostgresSQL, et j'ai crée un profil de connexion "profile", et au moment de création du projet j'ai bien associé le "profil" au projet EJB

    en fin j'ai utilisé une servlet pour tester les EJB3


    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
     
    package webControler;
     
    import java.io.IOException;
    import java.io.PrintWriter;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import ejb.entity.Employe;
    import ejb.session.*;
     
     
    public class AddEmploye extends HttpServlet {
     
     
        public AddEmploye() {
            super();
            // TODO Auto-generated constructor stub
        }
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
        	response.setContentType("text/html");
    		PrintWriter out=response.getWriter();		
    		out.println("<html><head><title>Gestion d'employes</title></head><body>");
    		try 
    		{
    				Context contex=new  InitialContext();		
    				EmployeBeanDAOLocal emp=(EmployeBeanDAOLocal)contex.lookup("EmployeBeanDAO/Local");
    				Employe e=new Employe();
     
    				e.setAdresse("xxx");
    				e.setAge(23);
    				e.setNom("yyyyy");
     
    				emp.add(e);
     
     
    		}
    		catch(Exception e){
    			e.printStackTrace(out);
    		out.println("<h2>ERREUR="+e.getMessage()+"</h2></body></html>");
    		}
    	}
     
     
    }

    l'erreur que c'est à l'exécution il m'affiche

    EmployeBeanDAO not bound

    je ne sais pas ou es l'erreur

    voila aussi le fichier de configuration persistance.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    	<persistence-unit name="project" transaction-type="RESOURCE_LOCAL">
    		<provider>org.hibernate.ejb.HibernatePersistence</provider>
    		<non-jta-data-source>java:profile</non-jta-data-source>
    		<class>
    		ejb.entity.Employe</class>
    		<properties>
    			<property name="hibernate.hbm2ddl.auto" value="update"/>
    			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
    		</properties>
    	</persistence-unit>
    </persistence>

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Un message d'erreur (trace) plus coplet serai le bien venu.
    Si il s'agit d'une NameNotFoundException, il semble que "EmployeBeanDAO" ne soit pas trouvé dans ton context JNDI.

  3. #3
    Membre averti
    Inscrit en
    Août 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 11
    Par défaut
    salut, j'ai bien résolu une part du problème maintenant, j'ai mon scripte qui marche bien pour la recherche et la sélection de la base de donnée, mais pour l'insertion et la mise à jour de la base, ça ne marche pas correctement, le scripte s'exécute mais rien ne s'ajoute à la base voila mon fichier de configuration



    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
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    	<persistence-unit name="proj1" transaction-type="RESOURCE_LOCAL">
    		<provider>org.hibernate.ejb.HibernatePersistence</provider>
    		<non-jta-data-source>java:webstockDS</non-jta-data-source>
    		<class>
    		entity.Employe</class>
    		<properties>
    			<property name="hibernate.hbm2ddl.auto" value="update"/>
    			<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
    		</properties>
    	</persistence-unit>
    </persistence>

Discussions similaires

  1. Probleme JBoss TransactionManager not bound
    Par jctigre dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 26/07/2006, 15h37
  2. [ Oracle ] OracleDS not bound
    Par jeoff dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 12/07/2006, 14h33
  3. [EJB2.1] Erreur not bound
    Par c+cool dans le forum Java EE
    Réponses: 9
    Dernier message: 13/01/2006, 12h11
  4. YPBINDPROC_DOMAIN: Domain not bound
    Par roger12 dans le forum Réseau
    Réponses: 2
    Dernier message: 24/10/2005, 13h25
  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