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 :

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); 
	} 
}
Peut-être avez vous une solution merci