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

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值