Bonjour,
J'ai fais un Stateless EJB très simple, qui permet d'additionner ou de soustraire deux entiers, mais je bloque au niveau du client qui dois utiliser cet EJB (je l'ai pris à partir d'un exemple que j'ai trouvé) mais je ne comprends pas où est ce qu'il faut préciser l'adresse du serveur pour le client. A aucun moment dans le code source du client on ne vois d'adresse du serveur ! Comment ça se fait ?
J'utilise NetBeans 6.9.1 avec GlassFish Server 3.
La classe de l'EJB :
L'interface de l'EJB:
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 package cours; import javax.ejb.Stateless; @Stateless public class CalcBean implements CalcBeanRemote { public int add(int a, int b) { System.out.println("dans add"); return a + b; } public int sub(int a, int b) { System.out.println("dans sub"); return a - b; } }
Et un client :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 package cours; import javax.ejb.Remote; @Remote public interface CalcBeanRemote { public int add(int a, int b); public int sub(int a, int b); }
Et pourtant ça affiche bien:
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 package test; import cours.CalcBeanRemote; import javax.naming.InitialContext; import javax.naming.NamingException; public class Main { public static void main(String[] args) throws NamingException { InitialContext ic = new InitialContext(); CalcBeanRemote calcul = (CalcBeanRemote) ic.lookup("cours.CalcBeanRemote"); System.out.println(calcul.add(5, 4)); System.out.println(calcul.sub(5, 4)); } }
9
1
Partager