2012-06-15 55 views
0

RMI IIOP可以調用RMI(JRMP)服務器嗎?RMI IIOP可以調用RMI(JRMP)服務器嗎?

我知道RMI IIOP用於使用corba的跨語言通信,但是RMI IIOP客戶端可以使用JRMP實現RMI服務器嗎?

我猜這可能是通過使用RMI(JRMP)註冊表主機的IP地址。

回答

1

不是。這個問題甚至沒有意義。 RMI服務器通過其存根調用,協議由存根執行,而不是客戶端。

但是可以通過在兩者RMI延伸既不UnicastRemoteObject也不PortableRemoteObject並調用這兩個類的exportObject()方法,以及註冊將其導出相同的對象既作爲RMI/JRMP遠程對象和RMI/IIOP遠程對象,註冊表和COSNaming服務,並運行rmic(如有必要,請參閱序言UnicastRemoteObject)和rmic -iiop

然後,如果您通過註冊表查找它,您將得到一個RMI/JRMP存根,如果您通過COSNaming服務查找它,則會得到一個RMI/IIOP存根。

+0

Ahh k ...除了註冊表和跨語言可訪問性之外,RMI和RMI-IIOP之間有什麼區別? –

+0

@RajuKumar完全不同的協議和API,在某種程度上被RMI/IIOP隱藏; RMI/IIOP中沒有DGC;不同的序列化要求;和恕我直言RMI/IIOP是和比RMI/JRMP更成熟。因此毫無疑問,ORB供應商堅持使用IIOP來處理J2EE。例如,在CORBA模型下,可伸縮性,攔截等都是一種輕而易舉的事情,在RMI/JRMP中幾乎不可能。在CORBA模型中激活也是相當好的,在RMI/JRMP中,它只是有許多漏洞,比如安全性,這使得它基本上無法使用。 – EJP