Bonjour,
J'essaye de mettre en oeuvre les objets distants avec RMI.
J'ai un problème de compilation pour ma classe cliente :
cannot find symbol
[javac] symbol : class IAgence
[javac] location: class AgenceClient
[javac] IAgence agence = (IAgence) Naming.lookup(nom);
Voici le code ma classe :
Peut-être avez vous une solution merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 // AgenceClient.java import java.rmi.Naming; import java.rmi.RMISecurityManager; /** * Classe dédiée côté client qui permet de regrouper toutes les opérations pour l'obtention d'une référence * sur l'objet distant à partir de son nom et l'appel à la méthode à partir de la référence * sur l'objet distant. * * La marche à suivre contient trois étapes :<br><br> * la mise en place d'un security manager dédié qui est facultative<br> * l'obtention d'une référence sur l'objet distant à partir de son nom avec la commande lookup()<br> * l'appel à la méthode à partir de la référence sur l'objet distant<br> * * @author Nicolas */ public class AgenceClient { public static void main(String[] args) { double currentPrix = 0.0; double leaderPrix = 0.0; String currentNom = null; String leaderNom = null; // Creation et installation du Security Manager (facultatif) : // permet de charger des classes qui ne sont pas forcément dans le Classpath de la machine locale if (System.getSecurityManager() == null) { System.setSecurityManager(new RMISecurityManager()); } for (int i = 2; i <5; i++) { try { // Rechercher l'objet Agence dans la registry machine args[i] //String nom = "rmi://" + args[i] + "/AgenceV2"; String nom = "rmi://127.0.0.1/AgenceV2"; IAgence agence = (IAgence)Naming.lookup(nom); currentPrix = agence.getMeilleurPrix(); currentNom = agence.getName(); // Afficher le nom de l'agence et le prix proposé System.out.println( "l'Agence " + currentNom + " propose une maison à " + currentPrix); } catch (Exception e) { e.printStackTrace(); } // Recherche le meilleur prix if (leaderPrix > currentPrix) { leaderPrix = currentPrix; leaderNom = currentNom; } } // On affiche le resultat de la recherche String msg = "Le meilleur prix est à " + leaderNom + " : " + leaderPrix; System.out.println(msg); } }![]()
Partager