2010-09-02 6 views

Odpowiedz

11

Różnica polega na tym, że Naming to klasa narzędziowa z metodami statycznymi, natomiast Registry to interfejs zdalny. Jak można się było spodziewać, wewnętrznie: Naming dzwoni Naming. Zauważ, że argumenty name przekazywane do java.rmi.Naming są w formacie URL i zawierają lokalizację rejestru, natomiast z java.rmi.registry.Registry, nazwa name jest tylko nazwą.

Na przykład, można nazwać coś takiego:

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

natomiast z Registry, trzeba istniejący uchwyt na obiekcie rejestru, a chcesz zadzwonić:

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

Więc Naming jest tak naprawdę klasą wygody, która oszczędza konieczność ręcznego sprawdzania wartości Registry - wykonuje wyszukiwanie rejestru i ponowne wiązanie w jednym kroku.

Powiązane problemy