Bonjour,
Je voudrai passer un objet en parametre d'un methode, mais apres plusieurs essais différents j'ai toujours des erreurs à l'execution mais pas à la compilation. La derniere est
java.lang.ClassCastException: $Proxy0 cannot be cast to ServeurCalcul
Voila le code qui recupere l'objet distant et qui essai d'effectué une methode sur cette objet(la méthode en question a pour but d'inserer l'objet Serveur calcul dans un tableau de serveurCalcul de la classe distante)
voila le code ou se trouve la methode elle doit récupérer l'objet ServeurCalcul et l'inserer grace à la methode insertServ().
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 //ServerCalcul.java import java.rmi.server.*; import java.rmi.*; import java.math.*; import java.io.Serializable; public class ServeurCalcul extends UnicastRemoteObject implements PiInterfacePart { public int nbServ; public ServeurCalcul()throws RemoteException{ super();} public BigDecimal calculPart(int nbDecimal, int index) throws RemoteException {...} public static void main (String args[]){ try { System.out.println("Récuperation de l'objet"); System.out.println("je crée le serveur à inserer"); PiInterfacePart SC = new ServeurCalcul(); PiInterface p = (PiInterface)Naming.lookup("rmi://localhost:1099/PiImpl"); System.out.println("Insertion de ce serveur dans l'impl"); p.insertServ(SC);//<-------CA PLANTE SUR CETTE METHODE System.out.println("Serveur de calcul pret"); } catch(Exception e) { System.out.println("Erreur de liaison de l'objet dans le PiImplpart coté Calcul"); System.out.println(e.toString()); } } }
Voila je suis preneur pour n'importe quelle idée qui fera avancer le chmilibilibilique...
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 //PiImpl.java import java.rmi.*; import java.rmi.server.*; import java.math.*; public class PiImpl extends UnicastRemoteObject implements PiInterface { public BigDecimal S; public ServeurCalcul [] tab = new ServeurCalcul[100]; public PiImpl()throws RemoteException{ super(); } public void insertServ(PiInterfacePart SC)throws RemoteException{ if (tab.length==0) { ServeurCalcul Sv = (ServeurCalcul)SC; tab[0]=Sv } else { int indexInsert = tab.length + 1; ServeurCalcul Sv = (ServeurCalcul)SC; tab[indexInsert] = Sv; } } ...
Merci d'avance.
Partager