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

Wildfly/JBoss Java Discussion :

[Débutant] Problème avec InitialContext.lookup()


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut [Débutant] Problème avec InitialContext.lookup()
    Bonjour,

    J'ai un ejb PersonDAO qui étends une PersonDAS qui est chargé dans Jboss.

    Je fait une petit client, au mot près, comme dans les exemples, mais ça plante :
    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
    	public static void main(String[] args)
    	{
    		InitialContext ini = null;
    		Hashtable<String, String> ht = new Hashtable<String, String>();
    		ht.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    		ht.put("java.naming.provider.url", "localhost");
    		ht.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
     
    		try
    		{
    			ini = new InitialContext(ht);
    		}
    		catch (NamingException e)
    		{
    			System.err.println("init");
    			e.printStackTrace();
    		}
     
    		PersonDAS pdao = null;
    		try
    		{
    			pdao = (PersonDAO) ini.lookup("PersonDAO/remote");
    			System.out.println(pdao.getClass());		
     
    		}
    		catch (NamingException e)
    		{
    			System.err.println("lookup");
    			e.printStackTrace();
    		}
    }
    J'ai joué avec les DAO / DAS mais quoi que je fasse j'ai cette erreur :
    java.lang.ClassCastException: javax.naming.Reference cannot be cast to test.dao.PersonDAO
    Par contre, si je récupère le ini.lookup() dans un Object, ça ne plante pas, et si je fait un toString() de cet object il m'affiche tout ce qu'il faut :
    Reference Class Name: Proxy for: test.das.PersonDAS
    Type: ProxyFactoryKey
    Content: ProxyFactory/PersonDAO/PersonDAO/remote
    Type: EJB Container Name
    Content: jboss.j2ee:jar=test.jar,name=PersonDAO,service=EJB3
    Type: Proxy Factory is Local
    Content: false
    Type: Remote Business Interface
    Content: test.das.PersonDAS
    Type: Remoting Host URL
    Content: socket://127.0.0.1:3873/
    Donc je sais qu'on doit normalement passer par des couches de service etc, mais ce n'est pas la question puisque si on ne peut pas accéder à cet ejb, je ne vois pas comment on pourrait accéder aux autres.

    Si vous pouviez éclairer ma lanterne,

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2006
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 572
    Points : 631
    Points
    631
    Par défaut
    Bon, j'avais Jboss 5 et je suis passé au 4.2.3 et ça marche.

    ça restera un mystère pour moi

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Faiche Voir le message
    Bon, j'avais Jboss 5 et je suis passé au 4.2.3 et ça marche.

    ça restera un mystère pour moi
    Citation Envoyé par Faiche Voir le message
    Bon, j'avais Jboss 5 et je suis passé au 4.2.3 et ça marche.

    ça restera un mystère pour moi
    Pour que cela fonctionne avec JBoss 5, il faut ajouter au classpath l'ensemble des jar de la partie client de Jboss
    En ouvrant le jar $JBOSS_HOME/client/jbossall-client.jar, on trouve le fichier readme.txt avec la liste a priori exhaustive des éléments:


    This jar file contains a classpath reference to various client jar files used by jboss client applications.
    Each of the jar files in the following list must available in the same directory as the jbossall-client.jar, Otherwise they will not be found by the classloader.

    The classpath includes the following files:

    commons-logging.jar
    concurrent.jar
    ejb3-persistence.jar
    hibernate-annotations.jar
    jboss-aop-client.jar
    jboss-appclient.jar
    jboss-aspect-jdk50-client.jar
    jboss-client.jar
    jboss-common-core.jar
    jboss-deployers-client-spi.jar
    jboss-deployers-client.jar
    jboss-deployers-core-spi.jar
    jboss-deployers-core.jar
    jboss-deployment.jar
    jboss-ejb3-common-client.jar
    jboss-ejb3-core-client.jar
    jboss-ejb3-ext-api.jar
    jboss-ejb3-proxy-client.jar
    jboss-ejb3-proxy-clustered-client.jar
    jboss-ejb3-security-client.jar
    jboss-ha-client.jar
    jboss-ha-legacy-client.jar
    jboss-iiop-client.jar
    jboss-integration.jar
    jboss-j2se.jar
    jboss-javaee.jar
    jboss-jsr77-client.jar
    jboss-logging-jdk.jar
    jboss-logging-log4j.jar
    jboss-logging-spi.jar
    jboss-main-client.jar
    jboss-mdr.jar
    jboss-messaging-client.jar
    jboss-remoting.jar
    jboss-security-spi.jar
    jboss-serialization.jar
    jboss-srp-client.jar
    jboss-system-client.jar
    jboss-system-jmx-client.jar
    jbosscx-client.jar
    jbosssx-as-client.jar
    jbosssx-client.jar
    jmx-client.jar
    jmx-invoker-adaptor-client.jar
    jnp-client.jar
    slf4j-api.jar
    slf4j-jboss-logging.jar
    xmlsec.jar


    Cordialement

  4. #4
    Membre habitué Avatar de sewatech
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 166
    Points
    166
    Par défaut
    As-tu essayé de caster en PersonDAS ?

    Et PersonDAS est-il une sur-classe ou une interface ?

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

Discussions similaires

  1. [Débutant] Problème avec Dev-Cpp 4.9.9.0
    Par P4Pi dans le forum Dev-C++
    Réponses: 7
    Dernier message: 16/01/2010, 16h48
  2. [Débutant]Problème avec les timers
    Par mickael777 dans le forum MFC
    Réponses: 1
    Dernier message: 11/04/2005, 11h00
  3. [débutant] problème avec le curseur (sablier)
    Par bat dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 01/12/2004, 08h26
  4. [débutant] problème avec un "if"
    Par pingoui dans le forum Langage
    Réponses: 10
    Dernier message: 11/08/2004, 09h46
  5. [débutant] Problèmes avec CRegKey
    Par Pedro dans le forum MFC
    Réponses: 4
    Dernier message: 10/11/2003, 15h28

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