Naming.bind和Registry.bind区别
Naming.bind和Registry.bind区别
无知有趣 发表于4年前
Naming.bind和Registry.bind区别
  • 发表于 4年前
  • 阅读 185
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 查看jdk中Naming类源码可见Naming只不过是通过解析URI绑定远程对象,将URI拆分成主机、端口和远程对象名称,使用的仍是Registry类。

Naming类和Registry类均在java.rmi包,Naming类并非在javax.naming包。

Naming源码:

    public static void bind(String name, Remote obj)
        throws AlreadyBoundException,
            java.net.MalformedURLException,
            RemoteException
    {
        ParsedNamingURL parsed = parseURL(name);
        Registry registry = getRegistry(parsed);
 
        if (obj == null)
            throw new NullPointerException("cannot bind to null");
 
        registry.bind(parsed.name, obj);
    }
    private static Registry getRegistry(ParsedNamingURL parsed)
        throws RemoteException
    {
        return LocateRegistry.getRegistry(parsed.host, parsed.port);
}

例子:

    LocateRegistry.getRegistry("127.0.0.1", 8494).bind("R1", 
            UnicastRemoteObject.exportObject(new RemoteObject(), 0));
    
    Naming.bind("rmi://127.0.0.1:8494/R1", 
            UnicastRemoteObject.exportObject(new RemoteObject (), 0));

标签: rmi
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 13
博文 116
码字总数 33182
×
无知有趣
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: