制作Java双导出服务器守护程序

时间:2012-10-03 12:47:34

标签: java rmi

我有以下服务器类为JRMP和IIOP导出自己:

public class FooServer implements RemoteInt{
    FooServer(){
        UnicastRemoteObject.exportObject(this);
        PortableRemoteObject.exportObject(this);
    }

    public boolean remoteMethod() throws RemoteException{
        // some stuff
        return false;
    }
}

以及以下安装程序类,它创建服务器并将其注册到正在运行的寄存器:

public class Setup{
    public static void main(String[] args){
        RemoteInt serv = new FooServer();
        Naming.rebind("//localhost/server", this);
    }
}

问题是当安装程序完成其作业时,它会等待FooServer终止。相反,我想退出安装程序类,让FooServer运行。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

你做不到。远程对象从当前JVM导出,并保持运行直到您取消导出它。请注意,main()方法确实退出,但RMI / JRMP和RMi / IIOP侦听线程仍在运行,因此JVM不会退出。