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 :

Blocage : Probleme de Binding d'EJB sous jboss-4.0.5.GA


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut Blocage : Probleme de Binding d'EJB sous jboss-4.0.5.GA
    Salut,

    j'ai récupéré un exemple d'application utilisant EJB3.0 et struts sous jboss à l'adresse suivante: http://www.laliluna.de/ejb-3-struts-tutorial-jboss.html et je l'ai importé dans mon environnement constitué de MyEclipse 5.1.0 GA et jboss-4.0.5.GA.

    L'application a été bel et bien déployé et le fichier ear crée avec succés et j'ai pu acceder a l'application a l'adresse par défaut: http://localhost:8080/EJBStrutsWeb/

    mais quand j'essaie d'invoquer un des sercices via donc les EJB dédiés je reçois des erreurs de binding et je ne comprends pas pourquoi , voiçi la trace de l'erreur que je reçois:

    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
     
     
    type Exception report 
     
    message 
     
    description The server encountered an internal error () that prevented it from fulfilling this request. 
     
    exception 
     
    javax.servlet.ServletException: javax.naming.NameNotFoundException: BookDaoImp not bound 
       org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523) 
       org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421) 
       org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) 
       org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) 
       org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) 
       javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
       javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     
     
    root cause 
     
    java.lang.RuntimeException: javax.naming.NameNotFoundException: BookDaoImp not bound 
       de.laliluna.library.struts.action.CreateSampleDataAction.execute(CreateSampleDataAction.java:52) 
       org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) 
       org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) 
       org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) 
       org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) 
       javax.servlet.http.HttpServlet.service(HttpServlet.java:697) 
       javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 
       org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 
     
     
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
    ou peut être l'erreur et comment la corriger svp
    merci

  2. #2
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.ServletException: javax.naming.NameNotFoundException: BookDaoImp not bound
    Tu dois faire un mauvais lookup... Es-tu sur du nom JNDI utilisé dans ton lookup ?

    Si non, regarde dans la jmx console : http://localhost:8080/jmx-console/Ht...ice%3DJNDIView
    (si tu es en local...)

    "Invoke" la méthode java.lang.String list(), tu auras alors en bas de la page, les noms JNDI déployés par ton JBoss... cherche le nom exact de ton EJB

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    justement j'ai essayé mais aucun EJB n'est dans la liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    java:comp namespace of the EJBStruts.ear/EJBStrutsWeb.war application:
      +- UserTransaction[link -> UserTransaction] (class: javax.naming.LinkRef)
      +- ORB (class: org.jacorb.orb.ORB)
      +- env (class: org.jnp.interfaces.NamingContext)
      |   +- security (class: org.jnp.interfaces.NamingContext)
      |   |   +- realmMapping[link -> java:/jaas/other] (class: javax.naming.LinkRef)
      |   |   +- subject[link -> java:/jaas/other/subject] (class: javax.naming.LinkRef)
      |   |   +- securityMgr[link -> java:/jaas/other] (class: javax.naming.LinkRef)
      |   |   +- security-domain[link -> java:/jaas/other] (class: javax.naming.LinkRef)
    sachantq ue voiçi comment mon lookup est défini pour un de mes EJB par exemple ( qui est dans le code source de l'application déja)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    public static final String RemoteJNDIName = BookDaoImp.class.getSimpleName()+ "/remote";
     
    	public static final String LocalJNDIName = BookDaoImp.class.getSimpleName()	+ "/local";

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 418
    Points : 67
    Points
    67
    Par défaut
    voiçi aussi le fichier persistence.xml

    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
     
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <persistence>
      <persistence-unit name="Ejb3StrutsTutorial">
        <jta-data-source>java:/ejb3ProjectDS</jta-data-source>
        <properties>
          <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    <!-- other supported properties, we are not using here. Do not forget to put them into a <property ... tag.
     
    hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
    hibernate.connection.release_mode=after_statement
    hibernate.transaction.flush_before_completion=true
    hibernate.transaction.auto_close_session=false
    hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
    #hibernate.hbm2ddl.auto=create-drop
    #hibernate.hbm2ddl.auto=create
    hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider
    # Clustered cache with TreeCache
    #hibernate.cache.provider_class=org.jboss.ejb3.entity.TreeCacheProviderHook
    #hibernate.treecache.mbean.object_name=jboss.cache:service=EJB3EntityTreeCache
    #hibernate.dialect=org.hibernate.dialect.HSQLDialect
    hibernate.jndi.java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
    hibernate.jndi.java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
    hibernate.cglib.use_reflection_optimizer=false
    -->
        </properties>
      </persistence-unit>
    </persistence>

  5. #5
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Le problème c'est que la spec EJB3 ne dit pas comment les implémentation doivent construire le nom jndi. Sous JBoss AS, si ton ejb est dans un EAR, il faut que tu préfixes le nom codé dans BoojDAOImp en ajoutant le nom de l'EAR devant : monEAR/monEJB/local.

    Si tu ne vois pas le nom dans l'arbre JNDI (via JndiView) c'est que tes EJBs ne sont pas détéctés.

Discussions similaires

  1. Comment désactiver le service ejb et mail sous jboss
    Par DevServlet dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 27/01/2010, 11h31
  2. Problèeme de dépendances circulaires entre EJBs et JBoss
    Par developpeur2008 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 08/06/2008, 20h03
  3. [EJB][Jboss] Déploiement d'EJB sous Eclpise/Jboss
    Par webspeak dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/01/2005, 19h03
  4. Probleme de linkage avec DirectDraw7 sous BC++ 5.02
    Par bobtorn dans le forum DirectX
    Réponses: 3
    Dernier message: 07/10/2003, 20h14
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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