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
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();
}
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
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";
    }
}
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
 
<?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
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;
    }
Je n'ai pas d'erreur à la compile ni au déploiement.
Mais une exception a l'exécution :
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
Je me suis basé sur des codes données en exemple de "Mastering EJB3"

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