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 :

Could not resolve a persistence unit


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 Could not resolve a persistence unit
    j'ai creé un entity Beans Produit (id, title, description).

    j'ai creé ma session beans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    package my;
     
    import javax.ejb.Remote;
     
    /**
    *
    * @author Abdelghani
    */
    @Remote
    public interface ProduitRemote {
        public void addProduit(Produit produit);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Stateless
    public class ProduitBean implements ProduitRemote {
     
        @PersistenceContext(unitName = "objectExchangeUP")
        private EntityManager objectExchangeEM;
     
        public void addProduit(Produit produit) {
            objectExchangeEM.persist(produit);
        }
    }
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    package product;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.xml.bind.ValidationException;
    import my.Produit;
    import my.ProduitRemote;
     
    /**
    *
    * @author Abdelghani
    */
    public class Main {
     
        /**
        * @param args the command line arguments
        */
        public static void main(String[] args) throws NamingException {
     
            Context ctx = new InitialContext();
     
            ProduitRemote produits = (ProduitRemote) ctx.lookup(ProduitRemote.class.getName());
            Produit produit = new Produit();
            produit.setId("1");
            produit.setTitle("ssssss");
            produit.setTitle("ddddddddddddddddd");
     
            try {
                produits.addProduit(produit);
            }
            catch(Exception e) {
                System.out.println("impossible ... " + e);
                System.exit(-1);
            }
        }
     
    }
    a l'exécution j'ai ce probleme :

    Deploying application in domain failed; Could not resolve a persistence unit corresponding to the persistence-context-ref-name [my.ProduitBean/objectExchangeEM] in the scope of the module called [gfdeploy#C:\Users\Abdelghani\Desktop\TP\Product\dist\gfdeploy\Product-ejb_jar]. Please verify your application.
    Deployment error: ...

  2. #2
    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
    As-tu défini "objectExchangeUP" dans ton serveur d'application ou dans persistance.xml ? Quel IDE utilises-tu (si tu en utilise mais c'est très utile pour ne pas s'embêter à tout définir soi-même...) et quel serveur d'application (version) ?

    PS : objectExchangeUP c'est pas très bon comme nom... UP = Unité de persistance ? Parce que le début de ton nom est en Anglais... Moi je ferais ObjectExchangePU (je mets une majuscule pour les PU).

  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
    Regarde comme c'est plus lisible lorsque l'on met en forme correctement un message sur le forum (c'est pas pour t'embêter mais tu auras plus facilement des réponses) :
    ----------------------------

    j'ai creé un entity Beans Produit (id, title, description).

    j'ai creé ma session beans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    package my;
     
    import javax.ejb.Remote;
     
    /**
    *
    * @author Abdelghani
    */
    @Remote
    public interface ProduitRemote {
        public void addProduit(Produit produit);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    @Stateless
    public class ProduitBean implements ProduitRemote {
     
        @PersistenceContext(unitName = "objectExchangeUP")
        private EntityManager objectExchangeEM;
     
        public void addProduit(Produit produit) {
            objectExchangeEM.persist(produit);
        }
    }
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    package product;
     
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.xml.bind.ValidationException;
    import my.Produit;
    import my.ProduitRemote;
     
    /**
    *
    * @author Abdelghani
    */
    public class Main {
     
        /**
        * @param args the command line arguments
        */
        public static void main(String[] args) throws NamingException {
     
            Context ctx = new InitialContext();
     
            ProduitRemote produits = (ProduitRemote) ctx.lookup(ProduitRemote.class.getName());
            Produit produit = new Produit();
            produit.setId("1");
            produit.setTitle("ssssss");
            produit.setTitle("ddddddddddddddddd");
     
            try {
                produits.addProduit(produit);
            }
            catch(Exception e) {
                System.out.println("impossible ... " + e);
                System.exit(-1);
            }
        }
     
    }
    a l'exécution j'ai ce probleme :

    Deploying application in domain failed; Could not resolve a persistence unit corresponding to the persistence-context-ref-name [my.ProduitBean/objectExchangeEM] in the scope of the module called [gfdeploy#C:\Users\Abdelghani\Desktop\TP\Product\dist\gfdeploy\Product-ejb_jar]. Please verify your application.
    Deployment error: ...

  4. #4
    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 reponse
    j'utilise NetBeans 6.1 avec un serveur d'application glassfish
    pour lookup je met quoi?






    Citation Envoyé par fatypunk Voir le message
    As-tu défini "objectExchangeUP" dans ton serveur d'application ou dans persistance.xml ? Quel IDE utilises-tu (si tu en utilise mais c'est très utile pour ne pas s'embêter à tout définir soi-même...) et quel serveur d'application (version) ?

    PS : objectExchangeUP c'est pas très bon comme nom... UP = Unité de persistance ? Parce que le début de ton nom est en Anglais... Moi je ferais ObjectExchangePU (je mets une majuscule pour les PU).

  5. #5
    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
    Citation Envoyé par safari25 Voir le message
    j'utilise NetBeans 6.1 avec un serveur d'application glassfish
    pour lookup je met quoi?
    Ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ProduitRemote produits = (ProduitRemote) ctx.lookup("my.ProduitRemote"); // "tonpackage.TaClasse"
    Mais je pense que tu n'as pas défini la PU. Je suis sur Netbeans 6.5 avec Glassfish v2, ca ne doit pas changer grand chose : Clique droit sur ton projet qui contient l'ejb entity, puis "New/Other...", puis dans la fenêtre "Persistence/Persistence Unit/Next", définition des paramètres (notamment le nom de la PU et la stratégie de création) puis "Finish". Et voila.

    Ensuite tu as un fichier persistence.xml que tu peux éditer à ta guise !

  6. #6
    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/08/2008, 10h35
  2. [Oracle] could not resolve service name
    Par navis84 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/07/2006, 11h12
  3. [Database link] TNS:could not resolve service name
    Par sleepy2002 dans le forum Oracle
    Réponses: 3
    Dernier message: 07/03/2006, 05h22
  4. Réponses: 11
    Dernier message: 29/06/2005, 11h36
  5. TNS:listener could not resolve SERVICE_NAME given in connect
    Par Sinclair dans le forum Administration
    Réponses: 15
    Dernier message: 20/08/2003, 17h26

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