RMI IIOP 可以调用 RMI (JRMP) 服务器吗?
我知道 RMI IIOP 用于使用 corba 进行跨语言通信,但是 RMI IIOP 客户端可以调用使用 JRMP 实现的 RMI 服务器吗?
我猜这可以通过使用 RMI (JRMP) 注册表主机的 IP 地址来实现。
不,这个问题甚至没有意义。RMI 服务器通过其存根调用,协议由存根实现,而不是客户端。
但是,您可以将相同的对象导出为 RMI/JRMP 远程对象和 RMI/IIOP 远程对象,方法是既不扩展UnicastRemoteObject
也不扩展PortableRemoteObject
并调用exportObject()
这两个类的方法,并在 RMI 注册表和 COSNaming 服务中注册它,并且同时运行rmic
(如有必要,请参阅前言UnicastRemoteObject
)和rmic -iiop
.
然后,如果您通过注册表查找它,您将获得一个 RMI/JRMP 存根,如果您通过 COSNaming 服务查找它,您将获得一个 RMI/IIOP 存根。