我可以註冊來自不同機器的同名對象嗎? 例如:假設我們有一個實現遠程接口的類X.然後我們有一個類服務器,它接受一個新的X對象並在rmiregistry上註冊名爲「Name」的對象。然後,我們有另一臺機器具有相同的類,並做同樣的事情。我們可以有多臺機器作爲服務器運行。在這個配置中,所有的機器都從不同的IP地址註冊它們的對象X,但是所有的對象都註冊了相同的名字。這可能嗎?如果一個客戶使用不同的IP和相同的對象名稱調用查找,是否有任何問題?java RMI - 多個主機註冊一個同名對象
0
A
回答
0
您描述的情況或多或少是不可能的。每個服務器都必須擁有自己的RMI註冊表,因此不會產生歧義。如果您可以在同一個註冊表中找到註冊來自不同服務器的對象的方法(並且存在一個,但它很少知道或使用),顯然它們必須全部使用不同的綁定名稱。
0
只要服務器有其單獨的RMI註冊表,它們就可以使用相同的名稱進行綁定。如果他們共享相同的RMI註冊表,則不可能使用相同的名稱綁定對象
相關問題
- 1. 使用rmi註冊表確定java rmi遠程對象主機的IP地址
- 2. JAVA RMI我可以註冊多個遠程對象到不同名稱的註冊表中嗎?
- 3. 一個域名註冊商,多個主機
- 4. RMI與多個主機
- 5. 多個主機名,同一個域,不同的虛擬主機
- 6. 如何使用RMI註冊表註冊遠程對象?
- 7. MBean爲同一類的多個對象使用相同(單個)對象名稱的註冊
- 8. 沒有RMI註冊表的Java RMI
- 9. Java RMI:在服務器上註冊2個不同的類
- 10. Java RMI:同一臺機器上的多個rmiregistry
- 11. 可以在機器上註冊多個.DLL的同名嗎?
- 12. RMI註冊值
- 13. 我可以註冊一個對象嗎?
- 14. rmi註冊問題
- 15. 在Autofac中註冊具有相同接口的多個對象
- 16. 未知主機RMI java
- 17. 使用單個RMI註冊表
- 18. Java RMI:將遠程對象引用傳遞迴主機
- 19. RMI:將兩個遠程對象綁定到同一註冊表時拋出的ClassNotFoundException
- 20. Jar文件中的Java RMI註冊表
- 21. 用Java代碼運行RMI註冊表
- 22. Java RMI無法連接到註冊表
- 23. 多個對象可以鏈接到RMI中的一個名稱嗎?
- 24. 找不到RMI註冊表
- 25. winrs註冊查詢工程,但註冊查詢主機名不
- 26. 註冊多個SelectionKey
- 27. rmi註冊表:確保有一個運行的最佳方式?
- 28. 多個主機名和多個權限?
- 29. CRM 2011多個主機名
- 30. 註冊一個引用System.Web的SQL對象的DLL對象CLR
你能給你提供一些有關這種情況的信息來源的參考(你告訴過不同的服務器是同一個註冊表)嗎? –
這很簡單。除本地主機外,RMI註冊表不接受綁定/重新綁定/解除綁定。然而,它綁定/解除綁定的對象不一定要在本地主機上。因此,如果您擁有RMI註冊表,則可以在同一主機上查找其他主機的客戶端程序可將每個查找結果綁定到其自己的註冊表中。其他客戶端只需要查看該註冊表:實際上他們不需要知道實際的遠程對象在哪裏。每個導出遠程對象的主機仍然需要一個註冊表:額外的註冊表和綁定客戶端是最上面的一個額外的薄層。 – EJP
好的,我相信我明白這一點。我的項目基本上是同行之間的溝通(所以我在每臺機器上都有一臺服務器和一臺客戶機)。我的第一個想法是,每個同行都可以創建自己的RMI註冊表並綁定一個對象(爲了簡單起見,使用相同的名稱),但是有人告訴我只有一個RMI註冊表是個好主意。正如我現在所看到的,這是不可能的。正如你告訴我的,我需要爲每臺機器和另一臺中央機器安裝Rmi Registry。 –