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 :

java.lang.ClassCastException [EJB3]


Sujet :

Java EE

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut java.lang.ClassCastException
    Bonjour,
    j'ai développé un EJB3 SessionStateless de conversion FrancEuro en suivant les exemples.
    Mon architecture est la suivante :
    - une interface ConvertisseurFrancEuro
    - la classe du bean : ConvertisseurFrancEuroBean qui implémente cette interface avec son annotation @Stateless
    - les classes ConvertisseurLocal et ConvertisseurRemote qui hérite de ConvertisseurFrancEuro avec leurs annotations respectives : @Local et @Remote
    L'ejb se déploye parfaitement,
    Lorsque je l'appelle dans le jndi via son nom : "ConvertisseurFrancEuroBean" de la façon suivante:
    ConvertisseurFrancEuro convertisseur = (ConvertisseurFrancEuro)ctx.lookup("ConvertisseurFrancEuroBean");
    celui-ci est trouvé mais j'obtiens une java.lang.ClassCastException

    Lorsque je l'appelle comme il est préconisé :
    ConvertisseurFrancEuro convertisseur = (ConvertisseurFrancEuro)ctx.lookup(ConvertisseurFrancEuroBean.class.getName());
    l'objet n'est pas trouvé dans le jndi puisque ConvertisseurFrancEuroBean.class.getName() renvoit Convertisseur.ConvertisseurFrancEuroBean
    convertisseur étant le nom de mon package

    Voici mon appel de contexte:
    Properties props = System.getProperties();
    props.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    props.put("java.naming.provider.url", "jnp://localhost:1099");
    props.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
    InitialContext ctx = new InitialContext(props);


    J'utilise jboss-4.0.3SP1.

    Merci d'avance de votre aide.



    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    salut,

    je ne connais pas les EJBs3, mais je suis sur d'une chose: ConvertisseurFrancEuroBean ne fait pas parti de l'API "client".
    Ca reste cote serveur.
    C'est l'interface du Home que tu recuperes via jndi.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut cest sur
    cest sur que ConvertisseurEuroBean coté serveur mais lorsque je récupère coté client cet objet j'obtiens un objet de type org.jnp.interfaces.NamingContext@bd0108 et je ne peut pas le caster en ConvertisseurFrancEuro

  4. #4
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Ce que tu recois n'est pas normalement un ConvertisseurFrancEuro mais un ConvertisseurLocal ou un ConvertisseurRemote (enfin je pense).

    Convertisseur.ConvertisseurFrancEuroBean
    convertisseur étant le nom de mon package
    en minuscule les noms de package

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut vi en minuscule
    vi les nom de package en minuscule
    mais quand je fais un cast avec ConvertisseurFrancEuroRemote
    jobtiens aussi une classcast exception

  6. #6
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par n00noors
    quand je fais un cast avec ConvertisseurFrancEuroRemote
    C'est l'interface du Home que tu recuperes via jndi.
    Regarde un peu, comment est fait le binding. Au niveau client, c'est un stub qui implemente l'interface du Home que tu dois recuperer via jndi.
    ConvertisseurFrancEuroRemote c'est bien l'interface metier, non?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut jai trouvé
    jai la solution en fait il faut appeler ConvertisseurFrancEuroBean/remote et non ConvertisseurFrancEuroBean


    et ensuite il faut utiliser différents jar coté client permettant dappeler linterface distante :
    - jboss-serialization.jar
    - jboss-remoting.jar
    - jboss-aspect-library-jdk50.jar
    - jboss-aop-jdk50.jar

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 50
    Points : 30
    Points
    30
    Par défaut merci à tous pour votre aide
    et merci à tous pour votre aide

  9. #9
    Membre averti
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Points : 427
    Points
    427
    Par défaut
    Citation Envoyé par ndp
    Regarde un peu, comment est fait le binding. Au niveau client, c'est un stub qui implemente l'interface du Home que tu dois recuperer via jndi.
    ConvertisseurFrancEuroRemote c'est bien l'interface metier, non?
    Regarde la norme EJB 3, il n'y a plus d'interface home.

  10. #10
    ndp
    ndp est déconnecté
    Membre actif Avatar de ndp
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 227
    Points : 255
    Points
    255
    Par défaut
    Regarde la norme EJB 3, il n'y a plus d'interface home.
    Alors, desole pour la brouille!

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

Discussions similaires

  1. tree struts : java.lang.ClassCastException
    Par addeel2002 dans le forum Struts 1
    Réponses: 4
    Dernier message: 15/05/2007, 22h32
  2. erreur java java.lang.ClassCastException
    Par yLaplace dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2007, 18h17
  3. pb java.lang.ClassCastException: $Proxy84
    Par chakala dans le forum Wildfly/JBoss
    Réponses: 10
    Dernier message: 15/03/2007, 14h21
  4. JSP javamail java.lang.ClassCastException
    Par itr dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 14/06/2006, 17h01
  5. Réponses: 16
    Dernier message: 10/01/2006, 22h02

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