Spec-Zone .ru
спецификации, руководства, описания, API
|
public class RMIConnectorServer extends JMXConnectorServer
Сервер соединителя API JMX, который создает основанные на RMI соединения от удаленных клиентов. Обычно, такие серверы соединителя делаются, используя JMXConnectorServerFactory
. Однако, специализированные приложения могут использовать этот класс непосредственно, например с RMIServerImpl
объект.
Модификатор и Тип | Поле и Описание |
---|---|
static String |
JNDI_REBIND_ATTRIBUTE
Имя атрибута, который определяет ли
RMIServer тупик, который представляет сервер соединителя RMI, должен переопределить существующий тупик в том же самом адресе. |
static String |
RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE
Имя атрибута, который определяет
RMIClientSocketFactory для объектов RMI, создаваемых в соединении с этим соединителем. |
static String |
RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE
Имя атрибута, который определяет
RMIServerSocketFactory для объектов RMI, создаваемых в соединении с этим соединителем. |
АУТЕНТИФИКАТОР
Конструктор и Описание |
---|
RMIConnectorServer(JMXServiceURL url, Map<String,?> environment)
Делает
RMIConnectorServer . |
RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, MBeanServer mbeanServer)
Делает
RMIConnectorServer для данного сервера MBean. |
RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, RMIServerImpl rmiServerImpl, MBeanServer mbeanServer)
Делает
RMIConnectorServer для данного сервера MBean. |
Модификатор и Тип | Метод и Описание |
---|---|
protected void |
connectionClosed(String connectionId, String message, Object userData)
Вызванный подклассом, когда клиентское соединение обычно закрывается.
|
protected void |
connectionFailed(String connectionId, String message, Object userData)
Вызванный подклассом, когда клиентская связь прерывается.
|
protected void |
connectionOpened(String connectionId, String message, Object userData)
Вызванный подклассом, когда новое клиентское соединение открывается.
|
JMXServiceURL |
getAddress()
Адрес этого сервера соединителя.
|
Map<String,?> |
getAttributes()
Атрибуты для этого сервера соединителя.
|
boolean |
isActive()
Определяет, является ли сервер соединителя активным.
|
void |
setMBeanServerForwarder(MBeanServerForwarder mbsf)
Вставляет объект, который прерывает запросы на сервер MBean, которые прибывают через этот сервер соединителя.
|
void |
start()
Активирует сервер соединителя, который является запусками, прислушивающимися к клиентским соединениям.
|
void |
stop()
Деактивировал сервер соединителя, то есть, остановки прислушаться к клиентским соединениям.
|
JMXConnector |
toJMXConnector(Map<String,?> env)
Возвращает клиентский тупик для этого сервера соединителя.
|
getConnectionIds, getMBeanServer, getNotificationInfo, postDeregister, postRegister, preDeregister, preRegister
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
public static final String JNDI_REBIND_ATTRIBUTE
Имя атрибута, который определяет ли RMIServer
тупик, который представляет сервер соединителя RMI, должен переопределить существующий тупик в том же самом адресе. Значение, связанное с этим атрибутом, если таковые вообще имеются, должно быть строкой, которая равна, игнорируя регистр, к "true"
или "false"
. Значение по умолчанию является ложью.
public static final String RMI_CLIENT_SOCKET_FACTORY_ATTRIBUTE
Имя атрибута, который определяет RMIClientSocketFactory
для объектов RMI, создаваемых в соединении с этим соединителем. Значение, связанное с этим атрибутом, должно иметь тип RMIClientSocketFactory
и может только быть определен в Map
параметр, предоставленный, создавая сервер соединителя.
public static final String RMI_SERVER_SOCKET_FACTORY_ATTRIBUTE
Имя атрибута, который определяет RMIServerSocketFactory
для объектов RMI, создаваемых в соединении с этим соединителем. Значение, связанное с этим атрибутом, должно иметь тип RMIServerSocketFactory
и может только быть определен в Map
параметр, предоставленный, создавая сервер соединителя.
public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment) throws IOException
Делает RMIConnectorServer
. Это эквивалентно вызову RMIConnectorServer(directoryURL,environment,null,null)
url
- определение URL, как создать сервер соединителя. Не может быть нуль.environment
- атрибуты, управляющие созданием и хранящие объекта RMI. Может быть нуль, который эквивалентен пустой Карте.IllegalArgumentException
- если url
нуль.MalformedURLException
- если url
не соответствует синтаксису для соединителя RMI, или если его протокол не распознается этой реализацией. Только "rmi" и "iiop" допустимы, когда этот конструктор используется.IOException
- если сервер соединителя не может быть создан по некоторым причинам или если неизбежно что start
метод перестанет работать.public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, MBeanServer mbeanServer) throws IOException
Делает RMIConnectorServer
для данного сервера MBean. Это эквивалентно вызову RMIConnectorServer(directoryURL,environment,null,mbeanServer)
url
- определение URL, как создать сервер соединителя. Не может быть нуль.environment
- атрибуты, управляющие созданием и хранящие объекта RMI. Может быть нуль, который эквивалентен пустой Карте.mbeanServer
- сервер MBean, к которому новый сервер соединителя присоединяется, или нуль, если это будет присоединено, будучи зарегистрированным как MBean в сервере MBean.IllegalArgumentException
- если url
нуль.MalformedURLException
- если url
не соответствует синтаксису для соединителя RMI, или если его протокол не распознается этой реализацией. Только "rmi" и "iiop" допустимы, когда этот конструктор используется.IOException
- если сервер соединителя не может быть создан по некоторым причинам или если неизбежно что start
метод перестанет работать.public RMIConnectorServer(JMXServiceURL url, Map<String,?> environment, RMIServerImpl rmiServerImpl, MBeanServer mbeanServer) throws IOException
Делает RMIConnectorServer
для данного сервера MBean.
url
- определение URL, как создать сервер соединителя. Не может быть нуль.environment
- атрибуты, управляющие созданием и хранящие объекта RMI. Может быть нуль, который эквивалентен пустой Карте.rmiServerImpl
- Реализация интерфейса RMIServer, непротиворечивого с типом протокола, определенным в url. Если этот параметр не является нулем, тип протокола, определенный url, не ограничивается, и, как предполагается, допустим. Иначе, только "rmi" и "iiop" будет распознан.mbeanServer
- сервер MBean, к которому новый сервер соединителя присоединяется, или нуль, если это будет присоединено, будучи зарегистрированным как MBean в сервере MBean.IllegalArgumentException
- если url
нуль.MalformedURLException
- если url
не соответствует синтаксису для соединителя RMI, или если его протокол не распознается этой реализацией. Только "rmi" и "iiop" распознаются, когда rmiServerImpl является нулем.IOException
- если сервер соединителя не может быть создан по некоторым причинам или если неизбежно что start
метод перестанет работать.start()
public JMXConnector toJMXConnector(Map<String,?> env) throws IOException
Возвращает клиентский тупик для этого сервера соединителя. Клиентский тупик является сериализуемым объектом чей connect
метод может использоваться, чтобы сделать одно новое соединение с этим сервером соединителя.
toJMXConnector
в интерфейсе JMXConnectorServerMBean
toJMXConnector
в классе JMXConnectorServer
env
- клиентские параметры соединения того же самого вида, для которого можно было обеспечить JMXConnector.connect(Map)
. Может быть нуль, который эквивалентен пустой карте.UnsupportedOperationException
- если этот сервер соединителя не поддерживает генерацию клиентских тупиков.IllegalStateException
- если JMXConnectorServer не запускается (см. isActive()
).IOException
- если коммуникационная проблема означает, что тупик не может быть создан.public void start() throws IOException
Активирует сервер соединителя, который является запусками, прислушивающимися к клиентским соединениям. Вызов этого метода, когда сервер соединителя является уже активным, не имеет никакого эффекта. Вызов этого метода, когда сервер соединителя был остановлен, генерирует IOException
.
Поведение этого метода когда вызвано впервые зависит от параметров, которые были предоставлены в конструкции, как описано ниже.
Во-первых, объект подкласса RMIServerImpl
требуется, чтобы экспортировать сервер соединителя через RMI:
RMIServerImpl
был предоставлен конструктору, это используется. JMXServiceURL
предоставленный конструктору был iiop
, объект типа RMIIIOPServerImpl
создается. JMXServiceURL
был нуль, или его часть протокола была rmi
, объект типа RMIJRMPServerImpl
создается. RMIServerImpl
или это может бросить MalformedURLException
. Если данный адрес включает каталог JNDI URL как определено в документации пакета для javax.management.remote.rmi
, тогда это RMIConnectorServer
загрузится, связывая RMIServerImpl
к данному адресу.
Если часть пути URL JMXServiceURL
было пусто или единственная наклонная черта (/
), тогда объект RMI не будет связан с каталогом. Вместо этого ссылка на это будет закодирована в пути URL адреса RMIConnectorServer (возвращенный getAddress()
). Кодировки для rmi
и iiop
описываются в документации пакета для javax.management.remote.rmi
.
Поведение, когда путь URL не ни пуст, ни каталог JNDI URL, или когда протокол ни один не rmi
ни iiop
, реализация, определенная, и может включать бросок MalformedURLException
когда сервер соединителя создается или когда он запускается.
IllegalStateException
- если сервер соединителя не был присоединен к серверу MBean.IOException
- если сервер соединителя не может быть запущен.public void stop() throws IOException
Деактивировал сервер соединителя, то есть, остановки прислушаться к клиентским соединениям. Вызов этого метода также закроет все клиентские соединения, которые были сделаны этим сервером. После этого метода возвраты, или обычно или с исключением, сервер соединителя не будет создавать новых клиентских соединений.
Как только сервер соединителя был остановлен, он не может быть запущен снова.
Вызов этого метода, когда сервер соединителя был уже остановлен, не имеет никакого эффекта. Вызов этого метода, когда сервер соединителя еще не был запущен, отключит серверный объект соединителя постоянно.
Если закрытие клиентского соединения производит исключение, то исключение не выдается от этого метода. A JMXConnectionNotification
испускается от этого MBean с ID соединения соединения, которое не могло быть закрыто.
Закрытие сервера соединителя является потенциально медленной работой. Например, если клиентская машина с открытым соединением отказала, операции закрытия, возможно, придется ожидать сетевого тайм-аута протокола. Вызывающие стороны, которые не хотят блокировать в операции закрытия, должны сделать это в отдельном потоке.
Это вызовы метода метод close
на сервере соединителя RMIServerImpl
объект.
Если RMIServerImpl
был связан с каталогом JNDI start
метод, это является несвязанным из каталога этим методом.
IOException
- если сервер не может быть закрыт чисто, или если RMIServerImpl
не может быть несвязанным из каталога. Когда это исключение выдается, сервер уже попытался закрыть все клиентские соединения, если соответствующий; вызывать RMIServerImpl.close()
; и развязывать RMIServerImpl
из его каталога, если приспособлено. Все клиентские соединения закрываются кроме возможно тех, которые генерировали исключения когда сервер, предпринятый, чтобы закрыть их.public boolean isActive()
JMXConnectorServerMBean
Определяет, является ли сервер соединителя активным. Сервер соединителя начинает быть активным когда start
метод возвращается успешно и остается активным до любого stop
метод вызывают или сбои сервера соединителя.
public JMXServiceURL getAddress()
JMXConnectorServerMBean
Адрес этого сервера соединителя.
Возвращенный адрес, возможно, не точный оригинал JMXServiceURL
это было предоставлено, создавая сервер соединителя, так как исходный адрес, возможно, всегда не полон. Например номер порта может быть динамически выделен, запуская сервер соединителя. Вместо этого возвращенный адрес является фактическим JMXServiceURL
из JMXConnectorServer
. Это - адрес тот, клиенты предоставляют к JMXConnectorFactory.connect(JMXServiceURL)
.
Отметьте, что возвращенный адрес может быть null
если JMXConnectorServer
еще не active
.
public Map<String,?> getAttributes()
JMXConnectorServerMBean
Атрибуты для этого сервера соединителя.
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
JMXConnectorServerMBean
Вставляет объект, который прерывает запросы на сервер MBean, которые прибывают через этот сервер соединителя. Этот объект будет предоставлен как MBeanServer
для любого нового соединения, создаваемого этим сервером соединителя. Существующие соединения незатронуты.
Этот метод можно вызвать не раз с различным MBeanServerForwarder
объекты. Результатом является цепочка средств передачи. Последнее добавленное средство передачи является первым в цепочке. Более подробно:
Если этот сервер соединителя уже связывается с MBeanServer
объект, тогда тому объекту дают mbsf.setMBeanServer
. Если выполнение так производит исключение, этот метод выдает то же самое исключение без любого другого эффекта.
Если этот соединитель уже не связывается с MBeanServer
объект, или если mbsf.setMBeanServer
вызов, только упомянутый, успешно выполняется, тогда mbsf
становится этим сервером соединителя MBeanServer
.
setMBeanServerForwarder
в интерфейсе JMXConnectorServerMBean
setMBeanServerForwarder
в классе JMXConnectorServer
mbsf
- новое MBeanServerForwarder
.protected void connectionOpened(String connectionId, String message, Object userData)
JMXConnectorServer
Вызванный подклассом, когда новое клиентское соединение открывается. Добавляет connectionId
к списку, возвращенному JMXConnectorServer.getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.OPENED
.
connectionOpened
в классе JMXConnectorServer
connectionId
- ID нового соединения. Это должно отличаться от ID любого соединения, ранее открытого этим сервером соединителя.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.protected void connectionClosed(String connectionId, String message, Object userData)
JMXConnectorServer
Вызванный подклассом, когда клиентское соединение обычно закрывается. Удаляет connectionId
от списка, возвращенного JMXConnectorServer.getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.CLOSED
.
connectionClosed
в классе JMXConnectorServer
connectionId
- ID закрытого соединения.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.protected void connectionFailed(String connectionId, String message, Object userData)
JMXConnectorServer
Вызванный подклассом, когда клиентская связь прерывается. Удаляет connectionId
от списка, возвращенного JMXConnectorServer.getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.FAILED
.
connectionFailed
в классе JMXConnectorServer
connectionId
- ID отказавшего соединения.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.