TP_RMI

advertisement
TP ADIS (JAVA RMI)
1- Exemple Echo :
Le code source de l’exemple Echo existe dans le répertoire exemple, ce répertoire contient
deux sous-répertoires : serveur et client. L’application distribué se compose de trois classes
Java : serveur/srvEcho , serveur/interEcho , client/cltEcho et client/interEcho.
1-1- Compilation de l’exemple :
D:\exemple\serveur>javac *.java
D:\exemple\client>javac *.java
D:\exemple\serveur>rmic –vcompat srvEcho
Remarque : le fichier rmic.exe se trouve dans le répertoire jdk/bin, alors pour qu’il puisse être
reconnu on doit spécifier le chemin d’accès soit lors de l’utilisation de commande soit dans les
variable d’environnement.
Le compilateur rmic permet de générer de fichiers srvEcho_stub et srvEcho_skel , on doit mettre le
premier fichier dans le répertoire client et garder le deuxième dans le répertoire serveur.
1-2- Exécution de l’exemple :
D:\exemple\serveur>rmiregistry &
D:\exemple\serveur>java srvEcho
D:\exemple\client>java cltEcho rmi://localhost/srviceEcho
1-3- Résultats :
Message : Bonjours
Réponse serveur : [Bonjours]
.
.
.
Message : fin
Travail demandé :
Après la compréhension de l’exemple précédent vous devez implémenter l’algorithme
d’exclusion mutuelle centralisé (par serveur).
Vous devez définir :
- trois classes srvMutex , cltMutex et interMutex ;
- une méthode : boolean mutex(long t) ;
- une propriété : boolean free .
Dans l’exécution de client l’utilisateur spécifie un temps t la méthode mutex prend le temps t avant
de retourner la valeur true au client, par contre elle retourne directement la valeur false si la
resource critique n’est pas libre, l’exclusion mutuelle est assuré par la propriété free.
Téléchargement