Spec-Zone .ru
спецификации, руководства, описания, API
СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT Java Удаленный Вызов метода


6.2 LocateRegistry Класс

Класс java.rmi.registry.LocateRegistry используется, чтобы получить ссылку (создайте тупик) к реестру удаленного объекта начальной загрузки на определенном узле (включая локальный узел), или создать реестр удаленного объекта, который принимает запросы к определенному порту.

Реестр реализует простой плоский синтаксис именования, который связывает имя удаленного объекта (строка) со ссылкой удаленного объекта. Имя и привязку удаленного объекта не помнят через перезапуски сервера.

Отметьте это a getRegistry вызов фактически не делает соединение с удаленным узлом. Это просто создает локальную ссылку на удаленный реестр и успешно выполнится, даже если никакой реестр не работает на удаленном узле. Поэтому, последующий вызов метода к удаленному реестру, возвращенному в результате этого метода, может перестать работать.

package java.rmi.registry;

public final class LocateRegistry {

        public static Registry getRegistry()
                throws java.rmi.RemoteException {...}
        public static Registry getRegistry(int port)
                throws java.rmi.RemoteException {...}
        public static Registry getRegistry(String host)
                throws java.rmi.RemoteException {...}
        public static Registry getRegistry(String host, int port)
                throws java.rmi.RemoteException {...}
        public static Registry getRegistry(String host, int port,
                                           RMIClientSocketFactory csf)
                throws RemoteException {...}
        public static Registry createRegistry(int port)
                throws java.rmi.RemoteException {...}
        public static Registry createRegistry(int port,
                                              RMIClientSocketFactory csf, 
                                              RMIServerSocketFactory ssf) 
                throws RemoteException {...}
}


Первые четыре getRegistry методы возвращают ссылку на реестр на текущем узле, текущем узле в указанном порту, указанном узле, или в определенном порту на указанном узле. То, что возвращается, является удаленным тупиком для реестра с указанным узлом и информацией о порте.

Пятое getRegistry метод (который берет RMIClientSocketFactory как один из его параметров), возвращает локально создаваемый удаленный тупик удаленному объекту Registry на указанном узле и порту. Передача с удаленным реестром, тупик которого создается с этим методом, будет использовать предоставленный RMIClientSocketFactory, csf, чтобы создать Socket соединения с реестром на удаленном узле и порту.


Отметьте - реестр, возвращенный из getRegistry метод является особенно созданным тупиком, который содержит известный объектный идентификатор. Передача тупика реестра от одной JVM до другого не поддерживается (это может или, возможно, не работает в зависимости от реализации). Используйте LocateRegistry.getRegistry методы, чтобы получить соответствующий реестр для узла.
createRegistry метод создает и экспортирует реестр на локальном узле на указанном порту.

Второе createRegistry метод позволяет больше гибкости в передаче с реестром. Этот вызов создает и экспортирует a Registry на локальном узле, который использует пользовательские фабрики сокета для передачи с тем реестром. Реестр, который создается, прислушивается к входящим запросам на данном порту, используя a ServerSocket создаваемый из предоставленного RMIServerSocketFactory. Клиент, который получает ссылку на этот реестр, будет использовать a Socket создаваемый из предоставленного RMIClientSocketFactory.


Отметьте - Запуск реестра с createRegistry метод не поддерживает серверный процесс.


СОДЕРЖАНИЕ | ПРЕДЫДУЩИЙ | NEXT
Copyright 1997, 2010, Oracle и/или его филиалы. Все права защищены.