2010-09-02 40 views

Trả lời

11

Sự khác biệt là Naming là lớp tiện ích có phương pháp tĩnh, trong khi Registry là giao diện từ xa. Không ngạc nhiên, Naming gọi Registry nội bộ. Lưu ý rằng đối số name bạn chuyển đến java.rmi.Naming có định dạng URL và bao gồm vị trí của sổ đăng ký, trong khi với java.rmi.registry.Registry, name chỉ là tên.

Ví dụ, bạn sẽ gọi một cái gì đó như thế này:

Naming.rebind("//host/objName", myObj); 

trong khi với Registry, bạn cần một tay cầm hiện trên đối tượng đăng ký, và bạn muốn gọi:

Registry registry = LocateRegistry.getRegistry("host"); 
registry.rebind("objName", myObj); 

Vì vậy Naming thực sự chỉ là một lớp tiện lợi giúp bạn tiết kiệm được việc tìm kiếm theo cách thủ công Registry - nó thực hiện tra cứu và khôi phục sổ đăng ký trong một bước.

Các vấn đề liên quan