不知道RMI服务器端程序开启之后怎么停止,我想监听服务器停止事件该如何写啊。比如在服务器停止之前打印一句话
PS:不想写那种图形界面。

解决方案 »

  1.   

    一般rmi后台服务单独起一个线程,去监听控制台的输入,如输入quit,exit之类的就Naming.unbind服务另,因为有可能以后台无界面服务启动,所以,有些会提供一个其他服务一样的接口,专门用来停止服务的,在服务端可以写个.sh或.bat来调用这个停止方法
      

  2.   

    public MyInterface extends Remote {
     public void sayHello()throws RemoteException;
     ....
     ...
     .
     //其他接口
     
     public void quit() throws RemoteException;
    }public MyImpl implements MyInterface extends UnicastRemoteObject {
     //其他接口实现
     public void quit() throws RemoteException {
      //做其他操作,关其他资源
      Naming.unbind("myservicesName");//myservicesName就是Naming.bing/rebind使用的name
     }
    }
      

  3.   

    接上面Naming.unbind("myservicesName");//myservicesName就是Naming.bing/rebind使用的name之后一般就可以调一下System.exit(0);了退出jvm要打印就在unbind之前打印即可