30.01.2015 Views

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

des enterprise beans - Département Informatique

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Localisation de l’ interface locale<br />

Localisation de l’interface locale<br />

Obtenir l’interface distante<br />

public static void main(String[] args) throws Exception {<br />

javax.naming.Context context;<br />

{ // obtient un contexte JNDI en utilisant le service d’annuaire<br />

context = new javax.naming.InitialContext();<br />

}<br />

Object objref = context.lookup("sort");<br />

SortHome home = (SortHome) javax.rmi.PortableRemoteObject.narrow(objref,<br />

SortHome.class);<br />

Sort sort = home.create();<br />

... // effectue le travail de tri et de fusion<br />

sort.remove();<br />

}<br />

}<br />

SortClient importe les classes JNDI requises et les interfaces locale et<br />

distante SortBean. Le client utilise l’API JNDI pour localiser l’interface<br />

locale d’un <strong>enterprise</strong> bean. D’abord, le client doit obtenir un contexte<br />

d’annuaire initial JNDI. Le code de SortClient instancie un nouvel objet<br />

javax.naming.Context, qui est appelé InitialContext. Le client utilise alors la<br />

méthode lookup() du contexte pour renvoyer ce nom à une interface locale.<br />

La méthode contextuelle lookup() renvoie un objet de type<br />

java.lang.Object. Votre code doit transtyper l’objet renvoyé dans le type<br />

attendu. Le code SortClient montre une partie du code client de l’exemple<br />

de tri. La routine main() commence par utiliser le service d’annuaire JNDI<br />

et la méthode lookup() de son contexte pour localiser l’interface locale.<br />

Vous passez le nom de l’interface distante, qui est dans ce cas sort, à la<br />

méthode context.lookup(). Notez que le programme transtype<br />

éventuellement les résultats de la méthode context.lookup() en SortHome,<br />

qui est le type de l’interface locale.<br />

Une fois que vous avez l’interface locale d’un <strong>enterprise</strong> bean, il vous faut<br />

une référence à l’interface distante du bean. Pour cela, utilisez les<br />

métho<strong>des</strong> create ou find de l’interface locale. La méthode à utiliser dépend<br />

du type d’<strong>enterprise</strong> bean et <strong>des</strong> métho<strong>des</strong> que le fournisseur du bean a<br />

défini dans l’interface locale.<br />

Beans session<br />

Si l’<strong>enterprise</strong> bean est un bean session, le client utilise une méthode create<br />

pour renvoyer l’interface distante. Les <strong>beans</strong> session n’ont pas de méthode<br />

find. Si le bean session est stateless, il aura juste une méthode create(), et il<br />

12-2 Guide du dé veloppeur Enterprise JavaBeans

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!