A quoi sert PortableRemoteObject.narrow() ?
Bonjour à tous,
Je suis en train de me former à J2EE avec un bon bouquin (y'a rien de tel :wink:) et dans un exemple il y a un truc que je ne comprends pas.
Voilà le code incriminé :
Code:
1 2 3 4 5 6 7
|
agencyJNDI = "java:comp/env/ejb/Agency";
InitialContext ic = new InitialContext();
Object lookup = ic.lookup(agencyJNDI);
AgencyHome home = (AgencyHome)PortableRemoteObject.narrow(lookup, AgencyHome.class);
Agency agency = home.create();
System.out.println("Welcome to: "+agency.getAgencyName()); |
Ce code fait partie d'un client simple censé récupérer une référence vers un EJB Agency pour pouvoir l'utiliser.
Alors pour tout ce qui est des appels JNDI c'est bon, je comprends. Par contre je ne vois pas du tout à quoi sert l'appel à narrow à la 4ème ligne. Je veux dire je sais qu'il y a une raison liée à RMI mais comme je n'ai pas utilisé ça assez souvent j'ai un peu de mal à avoir les idées claires dessus. Alors quelqu'un saurait-il m'expliquer pourquoi on ne fait pas tout simplement un truc du style :
Code:
1 2 3 4 5 6 7
|
agencyJNDI = "java:comp/env/ejb/Agency";
InitialContext ic = new InitialContext();
Object lookup = ic.lookup(agencyJNDI);
AgencyHome home = (AgencyHome)lookup;
Agency agency = home.create();
System.out.println("Welcome to: "+agency.getAgencyName()); |
Merci d'avance pour vos réponses
rozwel