Client EJB et l'adresse du Serveur
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 :
Code:
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;
}
} |
L'interface de l'EJB:
Code:
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 un client :
Code:
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));
}
} |
Et pourtant ça affiche bien:
9
1