RMI实现Java

时间:2013-06-12 13:29:24

标签: java rmi

我想用Java实现一个简单的RMI应用程序。

这是我的课程;

RMIInterface;

public interface RMIInterface extends Remote
{
     String translate ( String wordInTurkish ) throws RemoteException ;
}

RMIImplementation;

public class RMIImplementation implements RMIInterface
{
    @Override
    public String translate ( String wordInTurkish )
    {
        if ( wordInTurkish.equalsIgnoreCase( "Merhaba" ) )  { return "Hello" ; }
        if ( wordInTurkish.equalsIgnoreCase( "..."     ) )  { return "..."   ; }

        return "Not found in the dictionary" ;
    }
}

的RMIServer;

public class RMIServer
{
    public static void main ( String args[] ) throws Exception
    {
         String codebase = "http://localhost:8080/rmi/" ;
         String name     = "RMIInterface"               ;
         System.setProperty( "java.rmi.server.codebase" , codebase ) ;
         RMIImplementation obj  = new RMIImplementation();
         RMIInterface      stub = (RMIInterface) UnicastRemoteObject.exportObject( obj , 0 );
         LocateRegistry.createRegistry(2020).bind(name, stub);
    }
}

RMIClient;

public class RMIClient
{
    public static void main ( String args[] ) throws Exception
    {
        String host = "localhost"    ;
        String name = "RMIInterface" ;       
    }
}

如何实现RMIClient并且其他部分有什么问题?

3 个答案:

答案 0 :(得分:1)

试试这个

    RMIInterface cl = (RMIInterface) new InitialContext().lookup("rmi://localhost:2020/RMIInterface");
    String res = cl.translate("xxx");

答案 1 :(得分:1)

RMIInterface remote = (RMIInterface ) 
LocateRegistry.getRegistry("localhost",8080).lookup("RMIInterface");
remote.translate("merhaba");

答案 2 :(得分:0)

 serverAddress=127.0.0.1
 rmiRegistiry=rmi://127.0.0.1/DanBankServer

 Registry locateServerRegistery = LocateRegistry.getRegistry(serverAddress);
 System.out.println("Server Registery is  been looked up for address: "+rmiRegistiry);
 SekelatonInterface danBankServer = (SekelatonInterface) locateServerRegistery.lookup(serverRmiUrl);