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é?