Ciao a tutti,
ho un dubbio sull'invocazione remota di un metodo RMI.
Mettiamo questo scenario. Creo la mia interfaccia remota (che poi esporto con lo stub) e subito dopo creo due classi che implementano la mia interfaccia.
Se il client RMI invoca un metodo di questa interfaccia, quale delle due viene eseguita?
Esempio pratico:
codice:
public interface ServiceInterface extends Remote {
public static void mioMetodo() throws RemoteException;
}
public class PrimaServiceInterfaceImpl extends UnicastRemoteObject implements ServiceInterface {
public static void mioMetodo() throws RemoteException {
System.out.println("Ho invocato la prima classe impl!");
}
}
public class SecondaServiceInterfaceImpl extends UnicastRemoteObject implements ServiceInterface {
public static void mioMetodo() throws RemoteException {
System.out.println("Ho invocato la seconda classe impl!");
}
}
... invocazione del client:
ServiceInterface servizio = (ServiceInterface)(getRmiRegistry().lookup("mioServizio");
servizio.mioMetodo();
Cosa stampa e perché?