`

RMI quick start

 
阅读更多

Q) How to start RMI Registry Server?

A) 2 solutions.

    Solution 1) From cmd window. Java/bin folder, use rmiregistry.exe

                      If you call rmiregistry, it will start rmi server on port 1099

                      You can also start rmiregistry portNumber

    Solution 2) From java code:

          registry = LocateRegistry.createRegistry(rmiPort);

          registry.bind("shutdown", new ShutdownServerImpl(this));                     

 

 

Q) Server sample code

    public interface ShutdownServer extends Remote

    {

      boolean shutDown() throws RemoteException;

    }

 

    public class ShutdownServerImpl extends UnicastRemoteObject implements ShutdownServer

    {

 

      public ShutdownServerImpl() throws RemoteException

      {

            super();

}

 

      private static final long serialVersionUID = 1L;

 

      public boolean shutDown() throws RemoteException

      {

            return service.shutDownServer();

      }

    }

 

Q) Client sample code

 

public class ShutDownServerClient

{

      public static void main(String[] args) throws Exception

      {

            String url = "rmi://localhost:2099/";

            try

            {

                  Context namingContext = new InitialContext();

                  ShutdownServer shutDownServer = (ShutdownServer) namingContext.lookup(url + "shutdown");

                  shutDownServer.shutDown();

            }

            catch (Exception e)

            {

                  e.printStackTrace();

            }

      }

}

 

Q) Some other trcky issue

When you start rmiregistry from java/bin folder cmd window,

 

1) You must make sure the ShutdownServer interface is in the classpath. Set CLASSPATH before.

 

2)  Use such sample code to register remote class.

            Context namingContext = new InitialContext();

            namingContext.bind("rmi:shutdown", new ShutdownServerImpl(this));

   And I don’t know how to register to none 1099 port. L

  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics