TD 2

publicité
TD Java RMI
1) Retour sur les Threads Java
Rappels :
Les méthodes utiles de la classe Threads :
 start() : lancer le thread
 run() : méthode à redéfinir, contient le code exécuté au lancement du thread
 join() : attendre la fin du thread
 wait() : endort le thread jusqu'à ce qu'il reçoive un événement
 notify()/notifyAll() : réveil un ou tous les threads en attente
Exercice :
1. Concevoir un algorithme parallèle pour le tri d'un tableau en utilisant le principe du
Quicksort.
2. Ecrire le code de l'algorithme de la question 1 en utilisant les Threads Java et en supposant
que l'on dispose d'une méthode partition qui classe les éléments d'un tableau et renvoie
l'indice du pivot dans le tableau.
2) Appel d'une méthode sur un objet distant en Java RMI
Rappels :
Interface de description de l'objet distant
 donne la signature des méthodes que l'on peut appeler à distance
 doit étendre l'interface java.rmi.Remote
 chaque méthode doit lancer l'exception RemoteException (échec de l'appel distant)
Serveur : implémentation de l'interface
 code exécuté lors de l'appel distant à une méthode de cet objet
 hérite de java.rmi.server.UnicastRemoteObject
Serveur : enregistrement de l'objet distant
 créer une instance de l'objet distant
 enregistrer cet objet auprès du serveur de nom avec
Naming.rebind(“rmi://host:port/Nom”),
où Nom sert à identifier l'objet distant
(par défaut host = localhost et port = 1099)
Client : appel à une méthode d'un objet distant
 récupérer une référence sur l'objet distant par Naming.lookup(“rmi://host:port/Nom”)
(renvoie une référence sur un Object)
 appeler la méthode avec cette référence
Exercice :
1. Ecrire une interface OpMatrice qui définit une méthode permettant de faire la multiplication
de deux matrices carrées.
2. Ecrire une classe OpMatriceImpl qui implémente cette interface.
3. Ecrire le code du serveur qui instancie un objet OpMatriceImpl et l'enregistre auprès du
serveur de nom.
4. Ecrire le code d'un client qui invoque la méthode de multiplication sur deux matrices.
Téléchargement