2010-09-02 9 views

Respuesta

11

La diferencia es que Naming es una clase de utilidad con métodos estáticos, mientras que Registry es una interfaz remota. Como era de esperar, Naming llama internamente al Registry. Tenga en cuenta que los argumentos name que pasa al java.rmi.Naming están en formato URL e incluyen la ubicación del registro, mientras que con java.rmi.registry.Registry, el name es solo el nombre.

Por ejemplo, tendría que llamar a algo como esto:

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

mientras que con Registry, necesita un mango existente en el objeto del registro, y que se dice:

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

Así Naming es realmente una clase de conveniencia que le ahorra tener que buscar manualmente el Registry - realiza la búsqueda de registro y vuelve a enlazar en un solo paso.

Cuestiones relacionadas