什麼是RMI註冊表?它有什麼作用?什麼是RMI註冊表
回答
本質上,RMI註冊表是服務器註冊它提供的服務的地方,也是客戶查詢這些服務的場所。見Introduction to Java RMI。摘錄:
圖1顯示了客戶端在使用RMI時所做的連接。首先,客戶端必須聯繫RMI註冊中心,並請求服務的名稱。開發人員B不會知道RMI服務的確切位置,但他知道足以聯繫開發人員A的註冊表。這將指向他想要調用的服務的方向。
RMI註冊表作爲RMI服務器和客戶端之間的代理。服務器將其服務註冊到註冊表中 - 因此RMI註冊表可以充當許多服務器/服務的「目錄」。客戶端不需要知道單個服務器的位置,並且可以在RMI註冊表中查找它所需的服務。註冊表是一個命名目錄,它向客戶端返回適當的句柄以調用其上的方法。
谷歌周圍,有很多關於RMI的信息可用。
首先,服務器將名稱與RMI註冊表中的遠程對象相關聯。當客戶想要訪問遠程對象時,它會在註冊表中按名稱查找對象。然後,客戶端可以在服務器上的遠程對象上調用方法。
http://www8.cs.umu.se/education/examina/Rapporter/471App.pdf
Java的遠程方法調用(RMI)註冊本質上是一個目錄服務。
遠程對象註冊表是引導程序命名服務,由同一主機上的RMI服務器用來將遠程對象綁定到名稱。本地和遠程主機上的客戶端可以查找遠程對象並進行遠程方法調用。(Documentation)
您可以使用RMI或JNDI使用rmi註冊表遠程綁定和查找對象。
這是一個衆所周知的代理設計模式的用例。 RMI服務器在RMI註冊表上註冊對象(基本上是存根)。遠程客戶端查找這些存根並調用其上的方法。在場景的後面調用方法,它的參數被序列化併發送到具有實現的實際RMI服務器。 RMI服務器(骨架代碼)反序列化請求調用實際方法,收集結果,將其反序列化並將其發送回客戶端(存根)。存根反序列化結果並將其返回給調用此方法的代碼。
- 1. 沒有RMI註冊表的Java RMI
- 2. 什麼是Windows註冊表?
- 3. NSIS:什麼是註冊表?
- 4. RMI註冊值
- 5. 找不到RMI註冊表
- 6. 關閉rmi註冊表
- 7. 中央RMI註冊表
- 8. rmi註冊問題
- 9. 什麼是Docker註冊表2.0 tls clientcas
- 10. 什麼是註冊表類的目的?
- 11. 如何使用RMI註冊表註冊遠程對象?
- 12. 重啓後RMI註冊表爲空
- 13. rmi註冊表綁定問題
- 14. Jar文件中的Java RMI註冊表
- 15. 如何快速檢查RMI註冊表?
- 16. RMI:註冊表安全問題
- 17. RMI註冊表不可用錯誤
- 18. 用Java代碼運行RMI註冊表
- 19. 使用單個RMI註冊表
- 20. RMI註冊表失敗....異常sais null
- 21. Java RMI無法連接到註冊表
- 22. 註冊表RMI找不到stub類
- 23. RMI註冊表遠程異常錯誤
- 24. 什麼是GCM註冊ID?
- 25. 什麼是註冊%eiz?
- 26. 什麼是註冊前綴?
- 27. 什麼是C「註冊類」 ++
- 28. JUnit和RMI應用程序的最佳實踐,RMI註冊表
- 29. RMI註冊表和RMI服務器是否有不同的端口號?
- 30. linux nasm程序集是什麼(註冊):(註冊)是什麼意思?
這裏也是一個有趣的地方瞭解更多關於Java RMI:http://docs.oracle.com/javase/tutorial/rmi/index.html – LuckyLuc 2013-10-26 20:05:01
@LuckyLuc同意。不僅是一個有趣的地方,而且是一個更好的地方。任何互聯網垃圾不應該在官方引用之前引用,當然也不要超過RMI規範等規範引用。 – EJP 2015-09-12 10:06:56
因此,每個程序只有一個RMI註冊表,但可以有多個服務器。那是對的嗎? – CodyBugstein 2015-10-01 03:46:41