J'ai des problèmes pour connecter mon client RMI au serveur. J'ai donc ces classes/interfaces:Client Java RMI expérimenté ClassCastException
package application;
import java.sql.ResultSet;
public interface InterfaceRMI {
public void insererEtudiant(String requete);
public void supprimerEtudiant(String requete);
public ResultSet selectionnerEtudiant(String requete);
}
classe Server:
package application;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class ServeurMySQL extends UnicastRemoteObject implements InterfaceRMI {
public int port;
public ServeurMySQL(int port) throws RemoteException {
this.port = port;
}
@Override
public void insererEtudiant(String requete) {
// Implementation for insertion
}
@Override
public void supprimerEtudiant(String requete) {
// Implementation for delete
}
@Override
public ResultSet selectionnerEtudiant(String requete) {
// Implementation for selection
}
}
classe de test de connexion:
package application;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
public class test {
public static void main(String[] args) {
try {
Registry r = LocateRegistry.getRegistry(1098);
InterfaceRMI serveur = (InterfaceRMI) (r.lookup("serveurMySQL"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Lorsque j'ai remplacé la ligne InterfaceRMI serveur = (InterfaceRMI) (r.lookup("serveurMySQL"));
par r.lookup("serveurMySQL");
Je n'ai pas la Exception, j'ai compris que la connexion fonctionnait, et le problème était seulement le casting. Mais je ne sais pas comment le résoudre.
Le exeption est la suivante:
java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to application.InterfaceRMI
at application.test.main(test.java:13)
P.S: Le serveur RMI est lancé sans aucun problème.
Montrez-nous l'exception – Antoniossss
vous na pas montrer le code pour serveur rmi – Antoniossss
Indice : essayez de lire quelques tutoriels à ce sujet. N'essayez pas ** d'apprendre votre chemin à partir de javadoc ou d'avoir * des idées * comment ces choses fonctionnent. Commencez simplement avec une configuration entièrement décrite qui est * connue * pour fonctionner. Et: ne mettez pas le code dans les commentaires. mettez à jour votre question à la place. Comme: http://stackoverflow.com/questions/3638024/how-to-learn-java-rmi-quickly – GhostCat