Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2008 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème pour invoquer un session bean dans une servlet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème pour invoquer un session bean dans une servlet

n°1526818
e-v-tooms
Posté le 10-03-2007 à 16:18:06  profilanswer
 

Bonjour j'ai un problème qui concerne netbeans 5.5, un EJB3 et l'AS Jboss 4.0.4  
 
Pour l'instant je fais juste un test c'est à dire que dans une servlet, j'appelle une méthode d'un session bean qui renvoie juste un "hello world", ce message sera ensuite envoyé sur une page web ou un mobile.
 
Mais quand je l'invoque il me sort ce problème:

Code :
  1. java.lang.RuntimeException: javax.naming.NameNotFoundException: ejb not bound
  2. HitServlet.lookupHelloSessionBean(HitServlet.java:85)
  3. HitServlet.doGet(HitServlet.java:35)
  4. javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
  5. javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  6. org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)


 
En fait le bug survient quand j'invoque le bean (plus précisement au moment du lookup) qui se trouve dans la même JVM que la servlet !
 

Code :
  1. avec les imports nécessaires..
  2. // JNDI
  3. import javax.naming.Context;
  4. import javax.naming.InitialContext;
  5. import javax.naming.NamingException;
  6. // SERVLET
  7. import javax.servlet.*;
  8. import javax.servlet.http.*;
  9. //EJB
  10. import sessionPackage.HelloSessionLocal;
  11. import javax.ejb.EJB;
  12. // le code de la servlet blabla
  13. private HelloSessionLocal lookupHelloSessionBean() {
  14.         try {
  15.             Context c = new InitialContext();
  16.             return (HelloSessionLocal) c.lookup("java:comp/env/ejb/HelloSessionBean" );
  17.         }
  18.         catch(NamingException ne) {
  19.             Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);
  20.             throw new RuntimeException(ne);
  21.         }
  22.     }


 
 
Normalement il y a les bonnes annotations dans mes beans, ce qui permet de se passer d'un fichier de configuration (enfin je crois).
 

Code :
  1. package sessionPackage;
  2. import javax.ejb.Stateless;
  3. /**
  4. *
  5. * @author toomsounet
  6. */
  7. @Stateless(name="HelloSessionBean" )
  8. public class HelloSessionBean implements sessionPackage.HelloSessionLocal {
  9.    
  10.     /** Creates a new instance of HelloSessionBean */
  11.     public HelloSessionBean() {
  12.     }
  13.    
  14.     public String helloSession(){
  15.        
  16.         return "Hello World";
  17.     }
  18.    
  19. }


 

Code :
  1. package sessionPackage;
  2. import javax.ejb.Local;
  3. /**
  4. * This is the business interface for HelloSession enterprise bean.
  5. */
  6. @Local
  7. public interface HelloSessionLocal {
  8.     String helloSession();
  9.  
  10. }


 
quand je déploie mon projet, je peux lire entre autre les lignes suivantes:

Code :
  1. 15:02:33,171 INFO  [Ejb3Deployment] EJB3 deployment time took: 15
  2. 15:02:33,171 INFO  [JmxKernelAbstraction] installing MBean: jboss.j2ee:ear=IHMDAMLUDO.ear,jar=IHMDAMLUDO-ejb.jar,name=HelloSessionBean,service=EJB3 with dependencies:
  3. 15:02:33,187 INFO  [EJBContainer] STARTED EJB: sessionPackage.HelloSessionBean ejbName: HelloSessionBean
  4. 15:02:33,187 INFO  [EJB3Deployer] Deployed: file:/C:/jboss-4.0.4.GA/server/default/tmp/deploy/tmp40632IHMDAMLUDO.ear-contents/IHMDAMLUDO-ejb.jar


Tout parait correct mais encore une fois je débute.
 
Je comprends pas pourquoi il n'arrive pas à trouver le bean. 8O
 
Help please  :sweat:

mood
Publicité
Posté le 10-03-2007 à 16:18:06  profilanswer
 

n°1613039
immobilia
Posté le 19-09-2007 à 15:00:49  profilanswer
 

Au lieu d'appeler le JNDI avec "java:comp/env/ejb/HelloSessionBean" essaye avec "HelloSessionBean"
Et regarde dans ta console Jboss : http://localhost:8080/jmx-console/ si tu retrouve ton Ejb déployé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème pour invoquer un session bean dans une servlet

 

Sujets relatifs
probleme structuration BD[CSS] problème de bloc - ajout d'images
Probleme avec header[résolu] pbm session
Pb sécurité Servlet "Invoker" dans Tomcat6Problème de jointure mysql
probleme de boucle dans ExcelProblème avec un fichier externe pour mes variables
problème php avec nuked clanSQlite + Python: Problème de "CREATE TABLE IF NOT EXISTS"
Plus de sujets relatifs à : Problème pour invoquer un session bean dans une servlet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR