Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class JMXConnectorServer extends NotificationBroadcasterSupport implements JMXConnectorServerMBean, MBeanRegistration, JMXAddressable
Суперкласс каждого сервера соединителя. Сервер соединителя присоединен к серверу MBean. Это прислушивается к клиентским запросам соединения и создает соединение для каждого.
Сервер соединителя связывается с сервером MBean или регистрируя это в этом сервер MBean, или передавая сервер MBean его конструктору.
Сервер соединителя неактивен когда создающийся. Это только начинает прислушиваться к клиентским соединениям когда start
метод вызывают. Сервер соединителя прекращает прислушиваться к клиентским соединениям когда stop
метод вызывают или когда сервер соединителя незарегистрирован от своего сервера MBean.
Остановка сервера соединителя не нерегистрирует это от своего сервера MBean. Сервер соединителя, однажды остановленный, не может быть перезапущен.
Каждый раз клиентское соединение делается или повреждается, уведомление о классе JMXConnectionNotification
испускается.
Модификатор и Тип | Поле и Описание |
---|---|
static String |
АУТЕНТИФИКАТОР
Имя атрибута, который определяет аутентификатор для сервера соединителя.
|
Конструктор и Описание |
---|
JMXConnectorServer()
Создает сервер соединителя, который будет зарегистрирован как MBean в сервере MBean, к которому это присоединено.
|
JMXConnectorServer(MBeanServer mbeanServer)
Создает сервер соединителя, который присоединен к данному серверу 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)
Вызванный подклассом, когда новое клиентское соединение открывается.
|
Строка[] |
getConnectionIds()
Список ID для в настоящий момент открытых соединений с этим сервером соединителя.
|
MBeanServer |
getMBeanServer()
Возвращает сервер MBean, к которому присоединен этот сервер соединителя.
|
MBeanNotificationInfo[] |
getNotificationInfo()
Возвращает массив, указывающий на уведомления, что этот MBean передается.
|
void |
postDeregister()
Позволяет MBean выполнять любые операции, необходимые будучи незарегистрированным в сервере MBean.
|
void |
postRegister(Boolean registrationDone)
Позволяет MBean выполнять любые операции, необходимые, будучи зарегистрированным в сервере MBean или после того, как регистрация перестала работать.
|
void |
preDeregister()
Вызванный сервером MBean, когда этот сервер соединителя незарегистрирован от этого сервер MBean.
|
ObjectName |
preRegister(MBeanServer mbs, ObjectName name)
Вызванный сервером MBean, когда этот сервер соединителя регистрируется в этом сервер MBean.
|
void |
setMBeanServerForwarder(MBeanServerForwarder mbsf)
Вставляет объект, который прерывает запросы на сервер MBean, которые прибывают через этот сервер соединителя.
|
JMXConnector |
toJMXConnector(Map<String,?> env)
Возвращает клиентский тупик для этого сервера соединителя.
|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAddress, getAttributes, isActive, start, stop
getAddress
public static final String AUTHENTICATOR
Имя атрибута, который определяет аутентификатор для сервера соединителя. Значение, связанное с этим атрибутом, если таковые вообще имеются, должно быть объектом, который реализует интерфейс JMXAuthenticator
.
public JMXConnectorServer()
Создает сервер соединителя, который будет зарегистрирован как MBean в сервере MBean, к которому это присоединено. Этого конструктора обычно вызывает один из createMBean
методы, создавая, в пределах сервера MBean, сервер соединителя, который делает это доступным удаленно.
public JMXConnectorServer(MBeanServer mbeanServer)
Создает сервер соединителя, который присоединен к данному серверу MBean. Сервер соединителя, который создается таким образом, может быть зарегистрирован в различном сервере MBean, или не зарегистрирован в любом сервере MBean.
mbeanServer
- сервер MBean, к которому присоединен этот сервер соединителя. Нуль, если этот сервер соединителя будет присоединен к серверу MBean, будучи зарегистрированным в этом.public MBeanServer getMBeanServer()
Возвращает сервер MBean, к которому присоединен этот сервер соединителя.
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
JMXConnectorServerMBean
Вставляет объект, который прерывает запросы на сервер MBean, которые прибывают через этот сервер соединителя. Этот объект будет предоставлен как MBeanServer
для любого нового соединения, создаваемого этим сервером соединителя. Существующие соединения незатронуты.
Этот метод можно вызвать не раз с различным MBeanServerForwarder
объекты. Результатом является цепочка средств передачи. Последнее добавленное средство передачи является первым в цепочке. Более подробно:
Если этот сервер соединителя уже связывается с MBeanServer
объект, тогда тому объекту дают mbsf.setMBeanServer
. Если выполнение так производит исключение, этот метод выдает то же самое исключение без любого другого эффекта.
Если этот соединитель уже не связывается с MBeanServer
объект, или если mbsf.setMBeanServer
вызов, только упомянутый, успешно выполняется, тогда mbsf
становится этим сервером соединителя MBeanServer
.
setMBeanServerForwarder
в интерфейсе JMXConnectorServerMBean
mbsf
- новое MBeanServerForwarder
.public String[] getConnectionIds()
JMXConnectorServerMBean
Список ID для в настоящий момент открытых соединений с этим сервером соединителя.
getConnectionIds
в интерфейсе JMXConnectorServerMBean
public JMXConnector toJMXConnector(Map<String,?> env) throws IOException
Возвращает клиентский тупик для этого сервера соединителя. Клиентский тупик является сериализуемым объектом чей connect
метод может использоваться, чтобы сделать одно новое соединение с этим сервером соединителя.
Данный соединитель не должен поддерживать генерацию клиентских тупиков. Однако, соединители, определенные JMX Удаленный API, делают (Соединитель JMXMP и Соединитель RMI).
Реализация по умолчанию этого метода использование JMXConnectorServerMBean.getAddress()
и JMXConnectorFactory
генерировать тупик, с кодом, эквивалентным следующему:
JMXServiceURL addr =getAddress()
; returnJMXConnectorFactory.newJMXConnector(addr, env)
;
Сервер соединителя, для которого это является несоответствующим, должен переопределить этот метод так, чтобы это или реализовало соответствующую логику или броски UnsupportedOperationException
.
toJMXConnector
в интерфейсе JMXConnectorServerMBean
env
- клиентские параметры соединения того же самого вида, для которого можно было обеспечить JMXConnector.connect(Map)
. Может быть нуль, который эквивалентен пустой карте.UnsupportedOperationException
- если этот сервер соединителя не поддерживает генерацию клиентских тупиков.IllegalStateException
- если JMXConnectorServer не запускается (см. JMXConnectorServerMBean.isActive()
).IOException
- если коммуникационная проблема означает, что тупик не может быть создан.public MBeanNotificationInfo[] getNotificationInfo()
Возвращает массив, указывающий на уведомления, что этот MBean передается. Реализация в JMXConnectorServer
возвращает массив с одним элементом, указывая, что он может испустить уведомления о классе JMXConnectionNotification
с типами, определенными в том классе. Подкласс, который может испустить другие уведомления, должен возвратить массив, который содержит этот элемент плюс описания других уведомлений.
getNotificationInfo
в интерфейсе NotificationBroadcaster
getNotificationInfo
в классе NotificationBroadcasterSupport
protected void connectionOpened(String connectionId, String message, Object userData)
Вызванный подклассом, когда новое клиентское соединение открывается. Добавляет connectionId
к списку, возвращенному getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.OPENED
.
connectionId
- ID нового соединения. Это должно отличаться от ID любого соединения, ранее открытого этим сервером соединителя.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.NullPointerException
- если connectionId
нуль.protected void connectionClosed(String connectionId, String message, Object userData)
Вызванный подклассом, когда клиентское соединение обычно закрывается. Удаляет connectionId
от списка, возвращенного getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.CLOSED
.
connectionId
- ID закрытого соединения.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.NullPointerException
- если connectionId
нуль.protected void connectionFailed(String connectionId, String message, Object userData)
Вызванный подклассом, когда клиентская связь прерывается. Удаляет connectionId
от списка, возвращенного getConnectionIds()
, тогда испускает a JMXConnectionNotification
с типом JMXConnectionNotification.FAILED
.
connectionId
- ID отказавшего соединения.message
- сообщение для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getMessage()
.userData
- userData
для испускаемого JMXConnectionNotification
. Может быть нуль. См. Notification.getUserData()
.NullPointerException
- если connectionId
нуль.public ObjectName preRegister(MBeanServer mbs, ObjectName name)
Вызванный сервером MBean, когда этот сервер соединителя регистрируется в этом сервер MBean. Этот сервер соединителя становится присоединенным к серверу MBean и getMBeanServer()
метод возвратится mbs
.
Если этот сервер соединителя уже присоединен к серверу MBean, этот метод не имеет никакого эффекта. Сервер MBean, к которому это присоединено, является не обязательно тем, в котором это регистрируется.
preRegister
в интерфейсе MBeanRegistration
mbs
- сервер MBean, в котором регистрируется этот сервер соединения.name
- Имя объекта MBean.NullPointerException
- если mbs
или name
нуль.public void postRegister(Boolean registrationDone)
MBeanRegistration
Если реализация этого метода бросает a RuntimeException
или Error
, Сервер MBean повторно бросит тех внутри a RuntimeMBeanException
или RuntimeErrorException
, соответственно. Однако, выдавая исключение в postRegister
не будет изменять состояние MBean: если MBean был уже зарегистрирован (registrationDone
true
), MBean останется зарегистрированным.
Это могло бы сбить с толку вызов кода createMBean()
или registerMBean()
, как таковой кодируют, мог бы предположить, что регистрация MBean перестала работать, когда такое исключение повышается. Поэтому этому рекомендуют это реализации postRegister
не бросайте Исключения на этапе выполнения или Ошибки, если этого можно избежать.
postRegister
в интерфейсе MBeanRegistration
registrationDone
- Указывает, был ли MBean успешно зарегистрирован в сервере MBean. Ложь значения означает, что регистрационная фаза перестала работать.public void preDeregister() throws Exception
Вызванный сервером MBean, когда этот сервер соединителя незарегистрирован от этого сервер MBean. Если этот сервер соединителя был присоединен к этому сервер MBean, будучи зарегистрированным в этом, и если сервер соединителя будет все еще активным, то нерегистрация этого вызовет stop
метод. Если stop
метод выдает исключение, нерегистрационная попытка перестанет работать. Рекомендуется вызвать stop
метод явно прежде, чем незарегистрировать MBean.
preDeregister
в интерфейсе MBeanRegistration
IOException
- если брошено stop
метод.Exception
- Это исключение будет поймано сервером MBean и повторно брошено как MBeanRegistrationException
.public void postDeregister()
MBeanRegistration
Если реализация этого метода бросает a RuntimeException
или Error
, Сервер MBean повторно бросит тех внутри a RuntimeMBeanException
или RuntimeErrorException
, соответственно. Однако, выдавая исключение в postDeregister
не будет изменять состояние MBean: MBean был уже успешно вычеркнут из списка и останется так.
Это могло бы сбить с толку вызов кода unregisterMBean()
, поскольку это могло бы предположить, что MBean deregistration перестал работать. Поэтому этому рекомендуют это реализации postDeregister
не бросайте Исключения на этапе выполнения или Ошибки, если этого можно избежать.
postDeregister
в интерфейсе MBeanRegistration
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.