Spec-Zone .ru
спецификации, руководства, описания, API
|
public class MLet extends URLClassLoader implements MLetMBean, MBeanRegistration, Externalizable
MLET
у тега есть следующий синтаксис:
<MLET
CODE =
class | OBJECT =
serfile
ARCHIVE = "
archiveList"
[CODEBASE =
codebaseURL]
[NAME =
mbeanname]
[VERSION =
version]
>
[
arglist]
</MLET
>
где:
CODE =
class.class
файл MBean должен содержаться в одном из .jar
файлы, определенные ARCHIVE
атрибут. Также CODE
или OBJECT
должен присутствовать. OBJECT =
serfile.ser
файл, который содержит сериализированное представление MBean, который будет получен. Этот файл должен содержаться в одном из .jar
файлы, определенные ARCHIVE
атрибут. Если .jar
файл содержит иерархию каталогов, определите путь файла в пределах этой иерархии. Иначе соответствие не будет найдено. Также CODE
или OBJECT
должен присутствовать. ARCHIVE = "
archiveList"
.jar
файлы, содержащие MBeans или другие ресурсы, используемые MBean, который будет получен. Один из .jar
файлы должны содержать файл, определенный CODE
или OBJECT
атрибут. Если archivelist содержит больше чем один файл: .jar
файлы в archivelist должны храниться в каталоге, определенном кодовой базой URL. CODEBASE =
codebaseURL.jar
файлы, определенные ARCHIVE
атрибут. Определите этот атрибут только если .jar
файлы не находятся в том же самом каталоге как позволенный м. текстовый файл. Если этот атрибут не определяется, базовый URL позволенного м. текстового файла используется. NAME =
mbeannameMBeanServer.getDefaultDomain()
. VERSION =
version.jar
файлы, которые будут получены. Этот номер версии может использоваться, чтобы определить что .jar
файлы загружаются из сервера, чтобы обновить сохраненных локально в кэше в следующий раз, когда позволенный м. текстовый файл загружается. version должен быть серией неотрицательных десятичных целых чисел каждый разделенный периодом от того, который предшествует ему.
ARG TYPE=
argumentType VALUE=
value>
Тип параметров в списке параметров должен быть типом примитива Java или основным типом Java (java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Long, java.lang.Integer, java.lang.Float, java.lang.Double, java.lang.String
).
Позволенная м. служба расширяется java.net.URLClassLoader
и может использоваться, чтобы загрузить удаленные классы и файлы фляги в VM агента.
Отметьте - MLet
Загрузчик class использует MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer)
загрузить классы, которые не могли быть найдены в загруженных файлах фляги.
Конструктор и Описание |
---|
MLet()
Создает новый MLet использование родительского ClassLoder делегации значения по умолчанию.
|
MLet(URL[] urls)
Создает новый MLet для указанных URL, используя родительский ClassLoder делегации значения по умолчанию.
|
MLet(URL[] urls, boolean delegateToCLR)
Создает новый MLet для указанных URL, используя родительский ClassLoder делегации значения по умолчанию.
|
MLet(URL[] urls, ClassLoader parent)
Создает новый MLet для данных URL.
|
MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)
Создает новый MLet для данных URL.
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
Создает новый MLet для указанных URL, родительского загрузчика class, и URLStreamHandlerFactory.
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)
Создает новый MLet для указанных URL, родительского загрузчика class, и URLStreamHandlerFactory.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
addURL(String url)
Добавляет указанный URL к списку URL, чтобы искать классы и ресурсы.
|
void |
addURL(URL url)
Добавляет указанный URL к списку URL, чтобы искать классы и ресурсы.
|
protected URL |
check(String version, URL codebase, String jarfile, MLetContent mlet)
Этот метод должен быть переопределен, расширяя эту службу, чтобы поддерживать кэширование и управление версиями.
|
protected Class<?> |
findClass(String name)
Это - основной метод для загрузчиков class, который пересматривается.
|
protected String |
findLibrary(String libname)
Возвращает абсолютный путь собственной библиотеки.
|
Строка |
getLibraryDirectory()
Использовали текущий каталог загрузчиком библиотеки для того, чтобы сохранить собственные библиотеки прежде, чем они будут загружены в память.
|
Set<Object> |
getMBeansFromURL(String url)
Загружает текстовый файл, содержащий теги MLET, которые определяют MBeans, который будет добавлен к серверу MBean.
|
Set<Object> |
getMBeansFromURL(URL url)
Загружает текстовый файл, содержащий теги MLET, которые определяют MBeans, который будет добавлен к серверу MBean.
|
URL[] |
getURLs()
Возвращает путь поиска URL для того, чтобы загрузить классы и ресурсы.
|
Class<?> |
loadClass(String name, ClassLoaderRepository clr)
Загрузите class, используя данный
ClassLoaderRepository если class не находится в URL этого MLET. |
void |
postDeregister()
Позволяет позволенному м. выполнять любые операции, необходимые будучи незарегистрированным в сервере MBean.
|
void |
postRegister(Boolean registrationDone)
Позволяет позволенному м. выполнять любые операции, необходимые, будучи зарегистрированным в сервере MBean или после того, как регистрация перестала работать.
|
void |
preDeregister()
Позволяет позволенному м. выполнять любые операции, в которых это нуждается перед стать незарегистрированным сервером MBean.
|
ObjectName |
preRegister(MBeanServer server, ObjectName name)
Позволяет позволенному м. выполнять любые операции, в которых это нуждается прежде, чем быть зарегистрированным в сервере MBean.
|
void |
readExternal(ObjectInput in)
Восстановите содержание этого MLET от данного
ObjectInput . |
void |
setLibraryDirectory(String libdir)
Устанавливает каталог, используемый загрузчиком библиотеки для того, чтобы сохранить собственные библиотеки прежде, чем они будут загружены в память.
|
void |
writeExternal(ObjectOutput out)
Сохраните содержание этого MLET к данному
ObjectOutput . |
close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, newInstance, newInstance
defineClass, defineClass
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getResource, getResourceAsStream, getResources
public MLet()
public MLet(URL[] urls)
urls
- URL, из которых можно загрузить классы и ресурсы.public MLet(URL[] urls, ClassLoader parent)
urls
- URL, из которых можно загрузить классы и ресурсы.parent
- Родительский загрузчик class для делегации.public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
urls
- URL, из которых можно загрузить классы и ресурсы.parent
- Родительский загрузчик class для делегации.factory
- URLStreamHandlerFactory, чтобы использовать, создавая URL.public MLet(URL[] urls, boolean delegateToCLR)
urls
- URL, из которых можно загрузить классы и ресурсы.delegateToCLR
- Истина, если, когда class не находится или в родительском ClassLoder или в URL, MLet должен делегировать к его содержанию MBeanServer ClassLoaderRepository
.public MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)
urls
- URL, из которых можно загрузить классы и ресурсы.parent
- Родительский загрузчик class для делегации.delegateToCLR
- Истина, если, когда class не находится или в родительском ClassLoder или в URL, MLet должен делегировать к его содержанию MBeanServer ClassLoaderRepository
.public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)
urls
- URL, из которых можно загрузить классы и ресурсы.parent
- Родительский загрузчик class для делегации.factory
- URLStreamHandlerFactory, чтобы использовать, создавая URL.delegateToCLR
- Истина, если, когда class не находится или в родительском ClassLoder или в URL, MLet должен делегировать к его содержанию MBeanServer ClassLoaderRepository
.public void addURL(URL url)
addURL
в интерфейсе MLetMBean
addURL
в class URLClassLoader
url
- URL, который будет добавлен к пути поиска URLpublic void addURL(String url) throws ServiceNotFoundException
addURL
в интерфейсе MLetMBean
url
- URL, чтобы добавить.ServiceNotFoundException
- Указанный URL уродлив.public URL[] getURLs()
getURLs
в интерфейсе MLetMBean
getURLs
в class URLClassLoader
public Set<Object> getMBeansFromURL(URL url) throws ServiceNotFoundException
getMBeansFromURL
в интерфейсе MLetMBean
url
- URL текстового файла, который будет загружен как объект URL.ServiceNotFoundException
- Одна из следующих ошибок произошла: позволенный м. текстовый файл не содержит тег MLET, позволенный м. текстовый файл не находится, обязательный атрибут тега MLET не определяется, значение url является нулем.IllegalStateException
- MLet MBean не регистрируется в MBeanServer.public Set<Object> getMBeansFromURL(String url) throws ServiceNotFoundException
getMBeansFromURL
в интерфейсе MLetMBean
url
- URL текстового файла, который будет загружен как Строковый объект.ServiceNotFoundException
- Одна из следующих ошибок произошла: позволенный м. текстовый файл не содержит тег MLET, позволенный м. текстовый файл не находится, обязательный атрибут тега MLET не определяется, url уродлив.IllegalStateException
- MLet MBean не регистрируется в MBeanServer.public String getLibraryDirectory()
getLibraryDirectory
в интерфейсе MLetMBean
UnsupportedOperationException
- если эта реализация не поддерживает хранящие собственные библиотеки таким образом.setLibraryDirectory(java.lang.String)
public void setLibraryDirectory(String libdir)
setLibraryDirectory
в интерфейсе MLetMBean
libdir
- Каталог используется загрузчиком библиотеки.UnsupportedOperationException
- если эта реализация не поддерживает хранящие собственные библиотеки таким образом.getLibraryDirectory()
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
preRegister
в интерфейсе MBeanRegistration
server
- Сервер MBean, в котором будет зарегистрирован позволенный м.name
- Имя объекта позволенного м.Exception
- Это исключение должно быть поймано сервером MBean и повторно брошено как MBeanRegistrationException.public void postRegister(Boolean registrationDone)
postRegister
в интерфейсе MBeanRegistration
registrationDone
- Указывает, был ли позволенный м. успешно зарегистрирован в сервере MBean. Ложь значения означает, что любой регистрационная фаза перестал работать.public void preDeregister() throws Exception
preDeregister
в интерфейсе MBeanRegistration
Exception
- Это исключение должно быть поймано сервером MBean и повторно брошено как MBeanRegistrationException.public void postDeregister()
postDeregister
в интерфейсе MBeanRegistration
public void writeExternal(ObjectOutput out) throws IOException, UnsupportedOperationException
Сохраните содержание этого MLET к данному ObjectOutput
. Не все реализации поддерживают этот метод. Те, которые не бросают UnsupportedOperationException
. Подкласс может переопределить этот метод, чтобы поддерживать это или изменить формат записанных данных.
Формат записанных данных не определяется, но если реализация поддерживает writeExternal(java.io.ObjectOutput)
это должно также поддерживать readExternal(java.io.ObjectInput)
таким способом, который, что пишется прежним, может быть считан последним.
writeExternal
в интерфейсе Externalizable
out
- Объектный поток вывода, чтобы записать в.IOException
- Если проблема произошла при записи.UnsupportedOperationException
- Если эта реализация не поддерживает эту работу.public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException, UnsupportedOperationException
Восстановите содержание этого MLET от данного ObjectInput
. Не все реализации поддерживают этот метод. Те, которые не бросают UnsupportedOperationException
. Подкласс может переопределить этот метод, чтобы поддерживать это или изменить формат данных чтения.
Формат данных чтения не определяется, но если реализация поддерживает readExternal(java.io.ObjectInput)
это должно также поддерживать writeExternal(java.io.ObjectOutput)
таким способом, который, что пишется последним, может быть считан прежним.
readExternal
в интерфейсе Externalizable
in
- Объектный входной поток, чтобы читать из.IOException
- если проблема произошла, читая.ClassNotFoundException
- если class для восстанавливаемого объекта не может быть найден.UnsupportedOperationException
- если эта реализация не поддерживает эту работу.public Class<?> loadClass(String name, ClassLoaderRepository clr) throws ClassNotFoundException
Загрузите class, используя данный ClassLoaderRepository
если class не находится в URL этого MLET. Данный ClassLoaderRepository может быть нулем, когда a ClassNotFoundException
сразу происходит, если class не находится в URL этого MLET.
name
- Имя class мы хотим загрузиться.clr
- ClassLoaderRepository, который будет использоваться, чтобы искать данный class, если это не будет найдено в этом ClassLoder. Может быть нуль.ClassNotFoundException
- Указанный class не мог быть найден в этом ClassLoder, ни в данном ClassLoaderRepository.protected Class<?> findClass(String name) throws ClassNotFoundException
findClass
в class URLClassLoader
name
- Имя class.ClassNotFoundException
- Указанный class не мог быть найден.protected String findLibrary(String libname)
OSName/OSArch/OSVersion/lib/nativelibname
), то есть. библиотека stat на SPARC Соляриса 5.7 будет искаться в файле JAR как:
Более определенно позволить nativelibname
будьте результатом System.mapLibraryName
(libname)
. Затем следующие имена ищутся в файлах JAR в порядке:
nativelibname
<os.name>/<os.arch>/<os.version>/lib/
nativelibname
где <X>
средства System.getProperty(X)
с любыми пробелами в результате, удаленном, и /
стенды для символа разделителя файлов (File.separator
).
Если этот метод возвращается null
, то есть библиотеки не были найдены ни в одном из файлов JAR, загруженных этим загрузчиком class, VM ищет библиотеку вдоль пути, определенного как java.library.path
свойство.
findLibrary
в class ClassLoader
libname
- Имя библиотеки.System.loadLibrary(String)
, System.mapLibraryName(String)
protected URL check(String version, URL codebase, String jarfile, MLetContent mlet) throws Exception
Этот метод должен быть переопределен, расширяя эту службу, чтобы поддерживать кэширование и управление версиями. От этого вызывают getMBeansFromURL
когда версия, кодовая база, и jarfile были извлечены из файла MLet, и могут использоваться, чтобы проверить, что это в порядке, чтобы загрузить данный MBean, или заменить данный URL различным.
Реализация по умолчанию этого метода возвраты codebase
неизменный.
version
- Номер версии .jar
файл, хранивший локально.codebase
- Базовый URL удаленного .jar
файл.jarfile
- Имя .jar
файл, который будет загружен.mlet
- MLetContent
экземпляр, который представляет MLET
тег.Exception
- если MBean не должен быть загружен по некоторым причинам. Исключение будет добавлено к набору, возвращенному getMBeansFromURL
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92