学习RMI时有时(《Head First Java》)会使用的术语
Naming.rebind(name, object)
但是其他网站上的人(如Oracle)使用
Registry registry = LocateRegistry.getRegistry();
registry.rebind(name, object);
我知道HF Java有点老了,但我没有看到Naming类被弃用(deprecated)。
那么,它们有什么区别呢?
学习RMI时有时(《Head First Java》)会使用的术语
Naming.rebind(name, object)
但是其他网站上的人(如Oracle)使用
Registry registry = LocateRegistry.getRegistry();
registry.rebind(name, object);
我知道HF Java有点老了,但我没有看到Naming类被弃用(deprecated)。
那么,它们有什么区别呢?
public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException
ParsedNamingURL parsed = parseURL(name);
Registry registry = getRegistry(parsed);
if (obj == null)
throw new NullPointerException("cannot bind to null");
registry.rebind(parsed.name, obj);
}
...
private static Registry getRegistry(ParsedNamingURL parsed) throws RemoteException {
return LocateRegistry.getRegistry(parsed.host, parsed.port);
}
如果您查看源代码,将会看到以下内容:
public static void rebind(String name, Remote obj)
throws RemoteException, java.net.MalformedURLException {
ParsedNamingURL parsed = parseURL(name);
Registry registry = getRegistry(parsed);
if (obj == null)
throw new NullPointerException("cannot bind to null");
registry.rebind(parsed.name, obj);
}