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 :

Injection dans mon client


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Par défaut Injection dans mon client
    j'ai crée un entity beans Produit apres

    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
    package my;
     
    import javax.ejb.Remote;
     
    /**
     *
     * @author Abdelghani
     */
    @Remote
    public interface EcchangeProduitRemote {
        public void addProduit(Produit produit);
        public Produit getProduit(int id);
        public void updateCustomer(Produit p);
     
    }
    ---------------------------------------------------
    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 my;
     
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
     
    /**
     *
     * @author Abdelghani
     */
    @Stateless
    public class EcchangeProduitBean implements EcchangeProduitRemote {
      @PersistenceContext(unitName = "stockManager")
    protected EntityManager em;
     
        public Produit getProduit(int id) {
            Produit p = em.find(Produit.class, new Integer(id));
     
    	return p; 
     
        }
     
        public void updateCustomer(Produit p) {
           em.merge(p);
        }
     
        public void addProduit(Produit produit) {
            em.persist(produit);
        }
     
        // Add business logic below. (Right-click in editor and choose
        // "EJB Methods > Add Business Method" or "Web Service > Add Operation")
     
    }
    -------------------------------------------------
    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
    package produitaction;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import my.EcchangeProduitRemote;
    import my.Produit;
     
    /**
     *
     * @author Abdelghani
     */
    public class Main {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws NamingException {
           try{
            Context ctx = new InitialContext();
            EcchangeProduitRemote bean = (EcchangeProduitRemote) ctx.lookup("my.EcchangeProduitRemote");
            Produit c = bean.getProduit(2);
            System.out.println(c);
            Produit a = new Produit();
            a.setId("10");
            a.setTitle("fafa");
            a.setDescription("coucou");
            bean.addProduit(a);
     
            System.out.println("ddddddddddddd");
          System.out.println("Retrieved produit: " + c.getDescription());
     
           }
           catch(Exception E){
     
        }
        }
    }

  2. #2
    Rédacteur
    Avatar de longbeach
    Profil pro
    Architecte de système d’information
    Inscrit en
    Avril 2003
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Avril 2003
    Messages : 943
    Par défaut
    et ?
    où est le problème ?

  3. #3
    Membre éclairé Avatar de fatypunk
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 71
    Par défaut
    Je ne voudrais que tu le prenne mal mais j'ai envie de dire juste :

    Bravo . Tu as créé un Entity Bean !

    Mais je suppose que tu as un problème car en général les gens ne créent pas de post sur ce forum pour communiquer tout ce qu'il font... Alors il serait plus clair de nous en dire un peu plus.

  4. #4
    Membre éclairé Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Par défaut
    Pas mal comme post !

    Vu qu'apparemment notre ami n'a pas de probleme, je voudrais juste profiter de son poste pour savoir comment faire dans le cas ou désirerait utiliser EJB3 et les annotations qui vont avec ?

    Si je ne me trompe pas on peut utiliser l'annotion @EJB au niveau du backing bean au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Context ctx = new InitialContext();
            EcchangeProduitRemote bean = (EcchangeProduitRemote) ctx.lookup("my.EcchangeProduitRemote");
    (dans le cas ou le code figurant dans son main se trouve dans un backing bean )

    ?

  5. #5
    Membre éclairé Avatar de snipes
    Inscrit en
    Septembre 2004
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 547
    Par défaut
    Ceci dit j'ai certainement dit des conneries lol on est obligé de faire cette partie ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Context ctx = new InitialContext();
            EcchangeProduitRemote bean = (EcchangeProduitRemote) ctx.lookup("my.EcchangeProduitRemote");
    car sans, mon code ne marche pas même avec @EJB par contre en aillant les 2 (@EJB + le code en exemple) ca marche
    je pensais que l'annotation @EJB etait justement la pour remplacer ce code


  6. #6
    Membre chevronné Avatar de kalysto
    Profil pro
    Développeur
    Inscrit en
    Mars 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 442
    Par défaut
    En fait, pour que le @EJB marche, tout dépend de comment tu lances ton client.

    Pour faire clair, il n'ya pas de magie, un @EJB ca indique que tu veux que ton container Java EE t'injectes une reference (en J2EE 1.4, tu aurais effectivement fait un lookup). Pour ca, il te faut un container

    Donc ce code que tu montres, avec un main() doit etre packagé dans un application client. C'est un jar classique que tu vas lancer avec le container client de ton serveur d'application. La ca depend de ton serveur: avec JOnAS, tu peux faire "jclient <le jar client>", avec GlassFish, c'est une autre ligne de commande.

Discussions similaires

  1. [Integration] EJB pas injecté dans mon DAO
    Par evilnet dans le forum Spring
    Réponses: 2
    Dernier message: 19/04/2010, 18h14
  2. probleme dans mon code client
    Par amateurc dans le forum Réseau
    Réponses: 0
    Dernier message: 10/11/2008, 19h15
  3. Pas de scrollbar dans mon client web
    Par kacedda dans le forum Flex
    Réponses: 4
    Dernier message: 04/11/2008, 11h37
  4. Réponses: 1
    Dernier message: 20/10/2008, 18h30
  5. [EJB3] Injection @EJB dans le Client Web ne fonctionne pas
    Par warwink dans le forum Java EE
    Réponses: 9
    Dernier message: 04/12/2007, 00h28

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