Java RMI 中 “注册表”理解

初学 Java RMI,很多地方都不理解,看到API 上对 Naming.list(registryURL) 的解释是 

返回在注册表中绑定的名称所组成的数组。

以为 在注册表中一个名字可以对应多个对象。


实际上,在RMI注册表中,一个名字只能是对应一个对象,但是一个对象可以有多个名字

如果试图将注册表中的对象绑定到已具有相关绑定的名称上,则抛出 AlreadyBoundException 异常。

bind()可以理解为普通绑定,让一个未使用的名字去映射一个对象;

rebind()是让一个已使用的名字去重新映射另外一个对象。


自然,一个端口可以监听多个对象,Naming .list("端口号或者对象名字")可以列出此时注册表中所有的对象名。也即是该端口监听的所有对象,因为一个服务器一般只声明一个端口来对应一个注册表。


之前理解错了……以为bind可以 给一个名字绑定多个对象……
很基础的东西……以上设定也非常符合常理,自己脑子不要转太多想歪了……也不要想太当然,走太多歪路!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值