是否可以手动检查LocateRegistry是否存在?

时间:2013-02-20 14:51:40

标签: java exception rmi

have found获得LocateRegistry的安全方式(即使注册表尚不存在)。

Registry registry = null;
try {
    registry = LocateRegistry.getRegistry(52365);
    registry.list();
    // This call will throw an exception if the registry does not already exist
}
catch (RemoteException e) { 
    registry = LocateRegistry.createRegistry(52365);
}

是否可以首先检查注册表是否存在,并根据检查结果使用getRegistrycreateRegistry

1 个答案:

答案 0 :(得分:2)

  

是否可以首先检查注册表是否存在,并根据检查结果使用getRegistry或createRegistry?

当然可以。首先尝试createRegistry();抓住ExportException,这意味着它已经在运行,并无条件地执行getRegistry()

  

我想避免在不存在时不必要地调用getRegistry

这不是一个有效的问题。这是一个几乎免费的电话。没有网络活动。