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 :

Mon premier EJB [Débutant(e)]


Sujet :

Java EE

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut Mon premier EJB
    Bonjour à tous,

    Alors je préfère vous prévenir dès le départ... je suis vraiment débutant de chez débutant !!!
    Je viens de commencer un stage en Angleterre et je vais devoir développer en J2EE avec des JSP, des EJB Session, etc... le tout avec Eclipse et jBoss.

    Bref on m'a demandé (pour m'entraîner) d'essayer de faire une page login en utilisant tout ca.

    Donc j'ai d'abord fait une simple application JSP toute bête : login.jsp ; error.jsp ; result.jsp ; web.xml ; InvokeJsp.java ; FormulaireAction.java ; CheckLogin.java et Error.java (pour l'instant l'utilisateur et le mot de passe sont écris en dur dans la class CheckLogin car le but était juste de voir l'architecture des JSP).

    Donc maintenant j'aimerais passer à l'étape suivante : cad utiliser les EJB.
    Je sais que pour se connecter à une base de données et récupérer des données c'est plutôt facile avec JDBC. Par contre, ca fait 3 jours que je cherche comment utiliser les EJB Session et honnetement je n'y comprends rien du tout...
    J'ai eu beau utiliser tous les mots clés possibles sur Google pour trouver le plus simple tutoriel sur les EJB Session mais je n'y comprends jamais rien !!! Bon j'ai vu les différents types d'EJB qui existent, ect...

    Donc ma question (j'espere ne pas en avoir trop perdu après ce long blabla... :s) est simple : pouvais-vous m'aider à comprendre, avec mon exemple de page de login, comment utiliser les EJB Session :$ ?

    Merci pour votre patience !!

    Julien.

  2. #2
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Pour entammer une application avec une architecture MVC avec les EJB, il faut savoir que les EJB sont une spécification que depuis sa version 3.0 intègre JPA
    (API de persistance de données ).......Donc si vous voulez realiser une telle application il faut se documenter relativement sur jsf+EJB3.0/JPA sur JBOSS.
    Voici un lien qui doit vous aidez sur la partie EJB/JPA:
    http://www.eclipsetotale.com/article...c_Eclipse.html

  3. #3
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Bonjour Hector et merci de votre réponse.

    J'étais déjà allé sur ce site mais je l'ai un peu zappé car il crée un nouveau projet EJB et moi je voulais directement intégrer des EJB dans mon exemple actuel d'une simple page de login.

    Peut être je veux aller trop vite. Je vais reprendre le tutoriel que vous me conseillez.

    Merci.
    Julien.

  4. #4
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 40
    Points
    40
    Par défaut
    Salut,
    si vous comprenez comment les EJB fonctionnent (notion d'interface client,leurs implémentations, leurs intégration de JPA....) vous n'auriez pas de problème à les intégrer dans votre application suivant le framework utilisé(jsf,struts,....).Il suffit de faire un autre exemple semblable.
    Bonne chance

  5. #5
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    J'ai encore un petite question...
    Est-ce qu'un EJB est toujours à part ?
    Je m'explique : si je reprends mon exemple de page de login, l'EJB peut-il être dans le même projet ou doit-il être dans un projet différent ?

    Deuxièmement, si je comprends bien, un EJB est composé au moins :
    - d'une interface (@Remote)
    - d'une class associée à l'interface (implements) : le bean en lui-même en gros.
    - d'une class dans l'application cliente qui appelle le bean
    Est-ce bien ça ou je suis à côté de la plaque ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour que tes ejbs soient chargés, il faut que le serveur d'application scanne le jar à la recherche de sa configuration. Les specifications ne disent pas de scanner les .war, donc le serveur ne le fait pas. Il scanne uniquement des jar, soit des jar pur ejb que tu fournis dans le serveur via le déploiement d''ejb, soit des jar formant un ensemble avec la webapplicaiton, dans ce cas déployé au sein d'un ear qui contiendra les ejb-jar, les libiraires communes éventuelles et les .war

  7. #7
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    @Tchize
    Je n'ai franchement pas compris ta réponse !!

    Sinon j'ai essayé de refaire un nouveau projet EJB3 simple. Mais seulement voila il part en Exception :

    java.lang.NullPointerException
    at tests.BonjourClient.main(BonjourClient.java:11)
    qui correspond à cette ligne : String result = bonjour.direBonjour();

    Est-ce que quelqu'un saurait m'expliquer d'où vient l'erreur ?
    Je vous joints mon code ci-dessous !
    Merci d'avance !!


    J'ai d'abord une interface Bonjour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    package tests;
     
    import javax.ejb.Remote;
     
    @Remote
    public interface Bonjour {
     
    	public String direBonjour();
     
    }
    Ensuite mon bean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    package tests;
     
    import javax.ejb.Stateless;
     
    @Stateless
    public class BonjourBean implements tests.Bonjour{
     
    	public String direBonjour(){
     
    		return "Bonjour ! ! !" ;
    	}
     
    }
    Et enfin mon client :

    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
    package tests;
     
    import javax.ejb.EJB;
    import tests.Bonjour;
     
    public class BonjourClient {
    	@EJB
    	private static Bonjour bonjour;
        public static void main(String args[]) { 
        	try {
        		String result = bonjour.direBonjour();
        		System.out.println(result);
        	} catch (Exception e) {
        		System.err.println("Caught an exception !");
        		e.printStackTrace();
        	}
        }
    }

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ce main m'inquiète. Je ne pense pas que les annotation @EJB soient autorisées sur des champs statiques (car c'est initialisé lors de l'instanciation de la classe) et vu ton main, j'ai comme l'impression que tu oublie un composant fondamental des EJB: un conteneur EJB dont le role est justement d'initialiser tes EJB au sein d'un JNDI.

  9. #9
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    En fait, j'ai essayé de comprendre ce qu'il y avait sur ce lien :

    http://today.java.net/pub/a/today/20...-to-ejb30.html

    j'ai fait strictement la même chose. Mais peut être que j'oublie des choses étant donné que je suis complétement pommé dans cette techno.. !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    faut regarder sur dvp les tutoriels ejb, l'injection des ejb n'est pas immédiate. Il faut un conteneur ejb pour faire le travail. De plus dans l'exemple que tu mentionne, il s'agit d'un cours de migration de ejb2 à ejb3 très basique. CA ne t'explique pas comment démarrer le conteneur ejb, comment préciser l'emplacement du jndi, etc

  11. #11
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Honnêtement j'ai l'impression d'avoir fait 3 fois le tour des tuto dispo sur le net concernant les EJB...

    J'en ai encore tenté un aujourd'hui qui est dispo sur dvp. Seulement j'ai encore un bug que je n'arrive pas à résoudre tout simplement parce que je n'y comprend rien et qu'aucun tuto n'est clair sur ce sujet.

    Je commence à être en total stress car cela fait maintenant 2 semaines que je n'avance pas.

    Donc d'àprès le tuto, voici ce qu'il faut créer :

    Le remote :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    package com.bean;
     
    import java.rmi.RemoteException;
    import javax.ejb.EJBObject;
     
     
    public interface MonPremierEJB extends EJBObject {
      public String message() throws RemoteException; 
    }
    Le Home :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package com.bean;
     
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;
     
     
    public interface MonPremierEJBHome extends EJBHome {
      public MonPremierEJB create() throws CreateException, RemoteException;
    }
    Le 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
    28
    29
    30
     
    package com.bean;
     
    import java.rmi.RemoteException;
    import javax.ejb.EJBException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
     
     
    public class MonPremierEJBBean implements SessionBean {
     
      public String message() {
        return "Bonjour";	
      }
     
      public void ejbActivate() {
      }
     
      public void ejbPassivate() {
      }
     
      public void ejbRemove() {
      }
     
      public void setSessionContext(SessionContext arg0) throws EJBException, RemoteException {
      }
     
      public void ejbCreate() {
      }
    }
    Et la classe cliente qui se trouve dans un autre package :
    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
     
    package test;
     
    import java.util.*;
    import javax.naming.*;
    import com.bean.*;
     
    public class EJBClient {
     
      public static void main(String[] args) {
        Properties ppt = null;
        Context ctx = null;
        Object ref = null;
        MonPremierEJBHome home = null;
        MonPremierEJB bean = null;
     
        try {
          ppt = new Properties();
          ppt.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
          ppt.put(Context.PROVIDER_URL, "localhost:1099");
          ctx = new InitialContext(ppt);  
          ref = ctx.lookup("MonPremierEJBBean");
          home = (MonPremierEJBHome) javax.rmi.PortableRemoteObject.narrow(ref,
            MonPremierEJBHome.class);      
          bean = home.create();
          System.out.println("message = " + bean.message());
          bean.remove();
        }
        catch (Exception e) {
           e.printStackTrace();
        }
      }
     
    }
    Seulement lorsque je veux tester : (Run as -> Java application)
    javax.naming.NameNotFoundException: MonPremierEJBBean not bound
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
    at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
    at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
    at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
    at sun.rmi.transport.Transport$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
    at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
    at sun.rmi.server.UnicastRef.invoke(Unknown Source)
    at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at test.EJBClient.main(EJBClient.java:21)
    Je pense avoir compris que ce qui ne va pas c'est le lien entre la classe cliente et le bean. Mais voilà le tuto s'arrete la... pas d'autres explications !!!
    Est-ce qu'il manque juste le ejb-jar.xml ?

    De plus, comme dans les autres tuto, rien n'est commenté. Donc par exemple, je ne sais pas ce que signifie ces lignes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ppt = new Properties();
    ppt.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
    ppt.put(Context.PROVIDER_URL, "localhost:1099");
    ctx = new InitialContext(ppt);
    Si quelqu'un pouvait m'aider en m'expliquant et non en me disant d'aller voir ailleurs ca serait vraiment sympas. Généralement je poste dans des forums en dernier recours car (déjà qu'il faut chercher sur le net) j'ai trop la flemme de chercher dans les sujets du forum concerné avant de poster un message et/ou parfois de m'inscrire.
    Donc voila ici c'est fait, recherche d'abord sur le net, puis recherche sur les forums, puis inscription et recherche sur celui-ci avant de poster (juste pour dire que je suis pas un branleur ^^ !) !!!

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le code que tu as, c'est du code ejb2, bonjour la gloire pour commencer un projet avec çà, les ejb2 c'est totalement indigeste. Il serait peut etre souhaitable de commencer par là, pour comprendre tout ce qui se trouve dans ces codes:


    http://tahe.developpez.com/java/javaee/

    Il y a un cours de 300 pages sur les EJB (et oui, c'est pas une mince affaire les ejbs)

  13. #13
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Salut Tchize et merci encore,

    En effet c'était en ejb2. En fait j'essaie de combiner un peu tout ce que je trouve pour pouvoir avancer...
    On m'avait aussi conseillé de commencer directement avec les ejb3. Et c'est justement pour comprendre que j'avais fait le tuto (entre autres !!!) de migration de ejb2 vers ejb3.

    Bon demain je m'attaquerais à la doc que tu m'as filé ! J'espère m'en sortir !

    Merci encore, je vous tiens au courant !

  14. #14
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Salut Tchize,

    Voilà j'ai commencé à jeter un oeil sur le pdf de 300 pages. Bon les 300 pages ne me décourage pas mais avant de me lancer complètement dedans j'aurais une question :

    On m'a demandé donc de me documenter sur JSP, JDBC et les EJB3 mais je me retrouve à lire des trucs ou il y a Struts, Spring, Hibernate, JPA, JSF que je connais pas du tout et aussi je travaille avec jBoss Studio (Eclipse) et pas NetBeans.

    Donc si tu penses que ce document va vraiment quand même m'être utile c'est avec joie que je me lancerai dans ce pdf !

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    toute la théorie sur les ejbs te sera utile il me semble. A toi, comme dans tous bouquin, de voir les chapitres qui t'intéressent . Hibernate est utilisé car c'est la persistence JPA utilisé par ce document. JPA est l'api de persistence utilisée en ejb3 pour la persistence des beans entités. Spring est un conteneur IOC (inversion of context) qui permet d'initialiser tes bean en gérant leurs liens entre eux. Si t'en a pas besion, tu passe dessus sans approfondir. Je pense que dans le bouquin JSF, Spring et Struts sont utilisés comme support d'affichage, donc c'est pas hyper important, suffit d'ignorer un peu les section struts / spring / jsf dont tu n'aurais pas besoin.

  16. #16
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Re bonjour !

    Bon après une petite semaine de vacances me revoilà !!

    J'ai supprimé tous mes tests pour repartir de 0 car j'en avais marre !!

    Donc je suis reparti avec ce site pour les EJB Session :
    http://www.eclipsetotale.com/article...c_Eclipse.html

    Mais voilà je crois que c'est la deuxième fois que je le fais et j'ai une erreur et je n'y comprends toujours rien.

    javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
    at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(Unknown Source)
    at javax.naming.InitialContext.lookup(Unknown Source)
    at com.et.ClientPremierEJB3.main(ClientPremierEJB3.java:13)
    la ligne 13 étant celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Context context = new InitialContext();
    Qqun pourrait-il m'expliquer le problème ?

  17. #17
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    Salut,

    as-tu bien créé le fichier jndi.properties??

    Si oui, essayes en créant toi-meme la HashTable de properties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try {
    			 Hashtable<String, String> env = new Hashtable<String, String>();
    			 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");
    	         Context context = new InitialContext(env);
    	         PremierEJB3 beanRemote = (PremierEJB3)
    	         context.lookup("PremierEJB3Bean/remote");
    	         System.out.println(beanRemote.ditBonjour("ClientPremierEJB3"));
    	      } catch (NamingException e) {
    	         e.printStackTrace();
    	      }

  18. #18
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Salut Heimdal !

    Le fichier jndi.properties est bien créé. Il est placé en racine du projet client.

    Comme conseillé j'ai ajouté les 4 lignes de ton code et j'ai toujours la même erreur

    C'est toujours aussi dur de déployer un simple EJB ??!!!

  19. #19
    Membre éclairé Avatar de Heimdal
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 549
    Points : 718
    Points
    718
    Par défaut
    4 lignes???
    As-tu oublié celle-ci ?
    Context context = new InitialContext(env);

    Théoriquement les EJB3 c'est plutôt simple

  20. #20
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 18
    Points : 2
    Points
    2
    Par défaut
    Hehe !!!
    Toutes mes excuses !

    Bon donc l'erreur vient qu'il ne trouve pas mon fichier jndi.properties si je comprends bien ?
    Il doit bien se trouver en racine du projet client ?


    EDIT : j'ai déplacé le jndi.properties dans le dossier src et non plus en racine du projet et ça fonctionne maintenant .

    Merci bcp Heimdal j'ai enfin mon premier EJB qui fonctionne correctement je vais pouvoir avancer maintenant !!!

Discussions similaires

  1. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  2. [EJB2] Problème de connection avec mon premier EJB..
    Par gelinp dans le forum Java EE
    Réponses: 7
    Dernier message: 02/05/2007, 17h06
  3. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31
  4. [debutant]Mon premier prog OpenGL
    Par Revan777 dans le forum OpenGL
    Réponses: 5
    Dernier message: 04/04/2005, 17h40
  5. Réponses: 4
    Dernier message: 20/07/2004, 21h53

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