Spec-Zone .ru
спецификации, руководства, описания, API
|
public class JMXConnectorFactory extends Object
Фабрика, чтобы создать клиенты соединителя API JMX. Нет никаких экземпляров этого класса.
Соединения обычно делаются, используя connect
метод этого класса. Больше усовершенствованных приложений может разделить создание клиента соединителя, используя newJMXConnector
и установление соединения непосредственно, используя JMXConnector.connect(Map)
.
Каждый клиент создается экземпляром JMXConnectorProvider
. Этот экземпляр находится следующим образом. Предположите данный JMXServiceURL
похож "service:jmx:protocol:remainder"
. Затем фабрика попытается найти соответствующее JMXConnectorProvider
для protocol
. Каждое возникновение символа +
или -
в protocol
заменяется .
или _
, соответственно.
Список пакета провайдера разыскивается следующим образом:
environment
параметр к newJMXConnector
содержит ключ jmx.remote.protocol.provider.pkgs
тогда присваиваемое значение является списком пакета провайдера. jmx.remote.protocol.provider.pkgs
существует, тогда его значение является списком пакета провайдера. Список пакета провайдера является строкой, которая интерпретируется как список непустых имен пакета Java, разделенных вертикальными панелями (|
). Если строка пуста, то так список пакета провайдера. Если списком пакета провайдера не является Строка, или если он содержит элемент, который является пустой строкой, a JMXProviderException
бросается.
Если список пакета провайдера существует и не пуст, то для каждого элемента pkg
из списка фабрика попытается загрузить класс
pkg.protocol.ClientProvider
Если environment
параметр к newJMXConnector
содержит ключ jmx.remote.protocol.provider.class.loader
тогда присваиваемое значение является загрузчиком класса, чтобы использовать, чтобы загрузить провайдера. Если присваиваемое значение не является экземпляром ClassLoader
, IllegalArgumentException
бросается.
Если jmx.remote.protocol.provider.class.loader
ключ не присутствует в environment
параметр, загрузчик класса контекста вызывающего потока используется.
Если попытка загрузить этот класс производит a ClassNotFoundException
, поиск обработчика продолжается со следующим элементом списка.
Иначе, проблема с найденным провайдером сообщается a JMXProviderException
чей cause
указывает на базовое исключение, следующим образом:
ClassNotFoundException
, это - причина; Class.newInstance()
поскольку класс производит исключение, которое является причиной. Если никакой провайдер не будет найден вышеупомянутыми шагами, включая случай по умолчанию, где нет никакого списка пакета провайдера, то реализация будет использовать своего собственного провайдера для protocol
, или это бросит a MalformedURLException
если нет ни одного. Реализация может хотеть находить провайдеров другими средствами. Например, это может поддерживать соглашения JAR для поставщиков услуг, где интерфейс службы JMXConnectorProvider
.
Каждая реализация должна поддерживать протоколы соединителя RMI, определенные со строкой rmi
или iiop
.
Как только провайдер находится, результат newJMXConnector
метод является результатом вызова newJMXConnector
на провайдере.
Map
параметр, который передают к JMXConnectorProvider
новое только для чтения Map
это содержит все записи, которые были в environment
параметр к JMXConnectorFactory.newJMXConnector
, если был тот. Дополнительно, если jmx.remote.protocol.provider.class.loader
ключ не присутствует в environment
параметр, это добавляется к новому только для чтения Map
. Присваиваемое значение является загрузчиком класса контекста вызывающего потока.
Модификатор и Тип | Поле и Описание |
---|---|
static String |
DEFAULT_CLASS_LOADER
Имя атрибута, который определяет загрузчик класса по умолчанию.
|
static String |
PROTOCOL_PROVIDER_CLASS_LOADER
Имя атрибута, который определяет загрузчик класса для того, чтобы загрузить провайдеров протокола.
|
static String |
PROTOCOL_PROVIDER_PACKAGES
Имя атрибута, который определяет пакеты провайдера, с которыми консультируются, ища обработчик для протокола.
|
Модификатор и Тип | Метод и Описание |
---|---|
static JMXConnector |
connect(JMXServiceURL serviceURL)
Создает соединение с сервером соединителя в данном адресе.
|
static JMXConnector |
connect(JMXServiceURL serviceURL, Map<String,?> environment)
Создает соединение с сервером соединителя в данном адресе.
|
static JMXConnector |
newJMXConnector(JMXServiceURL serviceURL, Map<String,?> environment)
Создает клиент соединителя для сервера соединителя в данном адресе.
|
public static final String DEFAULT_CLASS_LOADER
Имя атрибута, который определяет загрузчик класса по умолчанию. Этот загрузчик класса используется, чтобы десериализовать возвращаемые значения и исключения из удаленного MBeanServerConnection
вызовы. Значение, связанное с этим атрибутом, является экземпляром ClassLoader
.
public static final String PROTOCOL_PROVIDER_PACKAGES
Имя атрибута, который определяет пакеты провайдера, с которыми консультируются, ища обработчик для протокола. Значение, связанное с этим атрибутом, является строкой с именами пакета, разделенными вертикальными панелями (|
).
public static final String PROTOCOL_PROVIDER_CLASS_LOADER
Имя атрибута, который определяет загрузчик класса для того, чтобы загрузить провайдеров протокола. Значение, связанное с этим атрибутом, является экземпляром ClassLoader
.
public static JMXConnector connect(JMXServiceURL serviceURL) throws IOException
Создает соединение с сервером соединителя в данном адресе.
Этот метод эквивалентен connect(serviceURL, null)
.
serviceURL
- адрес сервера соединителя, чтобы соединиться с.JMXConnector
чей connect
метод вызвали.NullPointerException
- если serviceURL
нуль.IOException
- если клиент соединителя или соединение не могут быть сделаны из-за проблемы коммуникации.SecurityException
- если соединение не может быть сделано для соображений безопасности.public static JMXConnector connect(JMXServiceURL serviceURL, Map<String,?> environment) throws IOException
Создает соединение с сервером соединителя в данном адресе.
Этот метод эквивалентен:
JMXConnector conn = JMXConnectorFactory.newJMXConnector(serviceURL, environment); conn.connect(environment);
serviceURL
- адрес сервера соединителя, чтобы соединиться с.environment
- ряд атрибутов, чтобы определить, как соединение делается. Этот параметр может быть нулем. Ключи в этой карте должны быть Строками. Соответствующий тип каждого присваиваемого значения зависит от атрибута. Содержание environment
не изменяются этим вызовом.JMXConnector
представление недавно сделанного соединения. Каждый успешный вызов к этому методу производит различный объект.NullPointerException
- если serviceURL
нуль.IOException
- если клиент соединителя или соединение не могут быть сделаны из-за проблемы коммуникации.SecurityException
- если соединение не может быть сделано для соображений безопасности.public static JMXConnector newJMXConnector(JMXServiceURL serviceURL, Map<String,?> environment) throws IOException
Создает клиент соединителя для сервера соединителя в данном адресе. Результирующий клиент не соединяется до connect
метод вызывают.
serviceURL
- адрес сервера соединителя, чтобы соединиться с.environment
- ряд атрибутов, чтобы определить, как соединение делается. Этот параметр может быть нулем. Ключи в этой карте должны быть Строками. Соответствующий тип каждого присваиваемого значения зависит от атрибута. Содержание environment
не изменяются этим вызовом.JMXConnector
представление нового клиента соединителя. Каждый успешный вызов к этому методу производит различный объект.NullPointerException
- если serviceURL
нуль.IOException
- если клиент соединителя не может быть сделан из-за проблемы коммуникации.MalformedURLException
- если нет никакого провайдера для протокола в serviceURL
.JMXProviderException
- если есть провайдер для протокола в serviceURL
но это не может использоваться по некоторым причинам.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.