Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class RMIServerImpl extends Object implements Closeable, RMIServer
Объект RMI представление сервера соединителя. Удаленные клиенты могут сделать соединения, используя newClient(Object)
метод. Этот метод возвращает объект RMI представление соединения.
Пользовательский код обычно не ссылается на этот класс непосредственно. Серверы соединения RMI обычно создаются с классом RMIConnectorServer
. Отдалите клиенты, обычно создают соединения любой с JMXConnectorFactory
или инстанцируя RMIConnector
.
Это - абстрактный класс. Конкретные подклассы определяют детали клиентских объектов соединения, такой как, используют ли они JRMP или IIOP.
Конструктор и Описание |
---|
RMIServerImpl(Map<String,?> env)
Создает новое
RMIServerImpl . |
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
clientClosed(RMIConnection client)
Метод, вызванный, когда клиентское соединение, создаваемое
makeClient закрывается. |
void |
close()
Завершения этот сервер соединения.
|
protected abstract void |
closeClient(RMIConnection client)
Закрывает клиентское соединение, сделанное
makeClient . |
protected abstract void |
closeServer()
Вызванный
close() закрыть сервер соединителя. |
protected abstract void |
export()
Экспорт этот объект RMI.
|
ClassLoder |
getDefaultClassLoader()
Получает значение по умолчанию
ClassLoader используемый этим сервером соединителя. |
MBeanServer |
getMBeanServer()
MBeanServer к которому присоединяется этот сервер соединителя. |
protected abstract String |
getProtocol()
Возвращает строку протокола для этого объекта.
|
Строка |
getVersion()
Версия Протокола Соединителя RMI поняла этим сервером соединителя.
|
protected abstract RMIConnection |
makeClient(String connectionId, Subject subject)
Создает новое клиентское соединение.
|
RMIConnection |
newClient(Object credentials)
Создает новое клиентское соединение.
|
void |
setDefaultClassLoader(ClassLoader cl)
Устанавливает значение по умолчанию
ClassLoader для этого сервера соединителя. |
void |
setMBeanServer(MBeanServer mbs)
Наборы
MBeanServer к которому присоединяется этот сервер соединителя. |
abstract Remote |
toStub()
Возвращает доступный удаленно тупик для этого серверный объекта.
|
protected abstract void export() throws IOException
Экспорт этот объект RMI.
IOException
- если этот объект RMI не может быть экспортирован.public abstract Remote toStub() throws IOException
IOException
- если тупик не может быть получен - например, RMIServerImpl еще не был экспортирован.public void setDefaultClassLoader(ClassLoader cl)
Устанавливает значение по умолчанию ClassLoader
для этого сервера соединителя. Новые клиентские соединения будут использовать этот classloader. Существующие клиентские соединения незатронуты.
cl
- новое ClassLoader
использоваться этим сервером соединителя.getDefaultClassLoader()
public ClassLoader getDefaultClassLoader()
Получает значение по умолчанию ClassLoader
используемый этим сервером соединителя.
ClassLoader
используемый этим сервером соединителя.setDefaultClassLoader(java.lang.ClassLoader)
public void setMBeanServer(MBeanServer mbs)
Наборы MBeanServer
к которому присоединяется этот сервер соединителя. Новые клиентские соединения будут взаимодействовать с этим MBeanServer
. Существующие клиентские соединения незатронуты.
mbs
- новое MBeanServer
. Может быть нуль, но новым клиентским соединениям откажут, пока это.getMBeanServer()
public MBeanServer getMBeanServer()
MBeanServer
к которому присоединяется этот сервер соединителя. Это - последнее значение, к которому передают setMBeanServer(javax.management.MBeanServer)
на этом объекте, или нуле, если тот метод никогда не вызывали.
MBeanServer
к которому присоединяется этот соединитель.setMBeanServer(javax.management.MBeanServer)
public String getVersion()
RMIServer
Версия Протокола Соединителя RMI поняла этим сервером соединителя. Это - строка со следующим форматом:
protocol-version implementation-name
protocol-version
серия двух или больше неотрицательных целых чисел, разделенных периодами (.
). Реализация версии, описанной этой документацией, должна использовать строку 1.0
здесь.
После того, как версия протокола там должна быть пространством, сопровождаемым именем реализации. Формат имени реализации является неуказанным. Рекомендуется, чтобы это включало номер версии реализации. Реализация может использовать пустую строку в качестве своего имени реализации, например для соображений безопасности.
getVersion
в интерфейсе RMIServer
public RMIConnection newClient(Object credentials) throws IOException
Создает новое клиентское соединение. Это вызовы метода makeClient
и добавляет возвращенный клиентский объект соединения к внутреннему списку. Когда это RMIServerImpl
выключен через close()
метод, close()
метод каждого объекта, остающегося в списке, вызывают.
Факт, что клиентский объект соединения находится в этом внутреннем списке, не препятствует тому, чтобы это было собрано "мусор".
newClient
в интерфейсе RMIServer
credentials
- этот объект определяет определяемые пользователем учетные данные, которые передадут в к серверу, чтобы аутентифицировать вызывающую сторону прежде, чем создать RMIConnection
. Может быть нуль.RMIConnection
. Это обычно - объект, создаваемый makeClient
, хотя реализация может хотеть обертывать тот объект в другую объектную реализацию RMIConnection
.IOException
- если новый клиентский объект не может быть создан или экспортирован.SecurityException
- если данные учетные данные не позволяют серверу аутентифицировать пользователя успешно.IllegalStateException
- если getMBeanServer()
нуль.protected abstract RMIConnection makeClient(String connectionId, Subject subject) throws IOException
Создает новое клиентское соединение. Этот метод вызывает открытый метод newClient(Object)
.
connectionId
- ID нового соединения. У каждого соединения, открытого этим сервером соединителя, будет различный ID. Поведение является неуказанным, если этот параметр является нулем.subject
- аутентифицируемый предмет. Может быть нуль.RMIConnection
.IOException
- если новый клиентский объект не может быть создан или экспортирован.protected abstract void closeClient(RMIConnection client) throws IOException
Закрывает клиентское соединение, сделанное makeClient
.
client
- соединение, ранее возвращенное makeClient
на котором closeClient
метод ранее не вызвали. Поведение является неуказанным, если эти условия нарушаются, включая случай где client
нуль.IOException
- если клиентское соединение не может быть закрыто.protected abstract String getProtocol()
Возвращает строку протокола для этого объекта. Строка rmi
для RMI/JRMP и iiop
для RMI/IIOP.
protected void clientClosed(RMIConnection client) throws IOException
Метод, вызванный, когда клиентское соединение, создаваемое makeClient
закрывается. Подкласс, который определяет makeClient
должен принять меры, чтобы этот метод был вызван когда результирующий объект close
метод вызывают. Это позволяет этому быть удаленным из RMIServerImpl
's список соединений. Это не ошибка для client
не быть в том списке.
После удаления client
от списка соединений, это вызовы метода closeClient(client)
.
client
- клиентское соединение, которое было закрыто.IOException
- если closeClient(javax.management.remote.rmi.RMIConnection)
выдает это исключение.NullPointerException
- если client
нуль.public void close() throws IOException
Завершения этот сервер соединения. Этот метод первые вызовы closeServer()
метод так, чтобы никакие новые клиентские соединения не были приняты. Затем, для каждого остающегося RMIConnection
объект, возвращенный makeClient
, close
метод вызывают.
Поведение, когда этот метод вызывают не раз, является неуказанным.
Если closeServer()
броски IOException
, отдельные соединения однако закрываются, и затем IOException
бросается от этого метода.
Если closeServer()
возвраты обычно, но один или больше отдельных соединений бросают IOException
, тогда, после закрытия всех соединений, одного из тех IOException
s бросается от этого метода. Если больше чем одно соединение бросает IOException
, это является неуказанным, какой бросается от этого метода.
close
в интерфейсе Closeable
close
в интерфейсе AutoCloseable
IOException
- если closeServer()
или один из RMIConnection.close()
вызовы бросили IOException
.protected abstract void closeServer() throws IOException
Вызванный close()
закрыть сервер соединителя. После возврата из этого метода сервер соединителя не должен принять новые соединения.
IOException
- если попытка закрыть отказавший сервер соединителя.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.