Bonjour,
J'essaye de mettre en oeuvre un EJB 3.0 Session Stateless dans mon application JSF.
Seulement il semblerai que mon EJB soit introuvable :
Le code de mon interface Remote
Le code du bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 package jpm.application.issuetrack; import javax.ejb.Remote; /** * This is the business interface for IssueTrackingService enterprise bean. */ @Remote public interface IssueTrackingServiceRemote { public abstract String getMessage(); }
L'ejb-jar.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 package jpm.application.issuetrack; import javax.ejb.Stateless; import javax.ejb.Remote; import javax.ejb.Local; /** * * @author madmath */ @Stateless public class IssueTrackingServiceBean implements IssueTrackingServiceRemote, IssueTrackingServiceLocal { /** Creates a new instance of IssueTrackingServiceBean */ public IssueTrackingServiceBean() { } public String getMessage() { return "SESSION STATELESS EJB3"; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version=1.0 encoding=UTF-8 ?> <ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_3_0.xsd" version="3.0"> <enterprise-beans> </enterprise-beans> </ejb-jar>
Le code qui récupère le service
Je n'ai pas d'erreur à la compile ni au déploiement.
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 private final String ISSUE_TRACKING_SERVICE_NAME = IssueTrackingServiceRemote.class.getName(); public IssueTrackingServiceRemote getIssueTrackingService() { try{ InitialContext context = new InitialContext(); issueTrackingService = (IssueTrackingServiceRemote) context.lookup( ISSUE_TRACKING_SERVICE_NAME ); }catch( NamingException e ){ ... } return issueTrackingService; }
Mais une exception a l'exécution :
Je me suis basé sur des codes données en exemple de "Mastering EJB3"
Code : Sélectionner tout - Visualiser dans une fenêtre à part 12:51:08,470 ERROR [STDERR] javax.naming.NameNotFoundException: jpm.application.issuetrack.IssueTrackingServiceRemote not bound
Serveur d'appli :
JBoss 4.0.5 GA installé en mode EJB3
Version java :
madmath@pc-madmath:~$ java -version
java version "1.5.0_11"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
IDE : Netbeans 5.5.1
Os : ubuntu
Partager