public class MLet extends URLClassLoader implements MLetMBean, MBeanRegistration, Externalizable
的MLET
标签具有以下语法:
< MLET
CODE =
班 | OBJECT =
serfile
ARCHIVE = "
archivelist"
[CODEBASE =
codebaseurl]
[NAME =
mbeanname]
z-6aa2eb7c-d8d8-4ccb—9bc0-a2fb0c5e5f04版本]
>
[
参数列表]
/MLET
> <
哪里:
CODE =
班
.class
文件编译的MBean必须包含在一个由
ARCHIVE
属性指定的
.jar
文件。无论是
CODE
或
OBJECT
必须在场。
OBJECT =
serfile
.ser
文件。这个文件必须包含在一个由
ARCHIVE
属性指定的
.jar
文件。如果
.jar
文件包含一个指定的目录层次,在这个层次的文件的路径。否则将找不到匹配的。无论是
CODE
或
OBJECT
必须在场。
ARCHIVE = "
archivelist
"
.jar
文件。其中的一个
.jar
文件必须包含指定的文件的
CODE
或
OBJECT
属性。如果archivelist包含多个文件:
.jar
文件
archivelist必须存储的代码库的URL指定的目录。
CODEBASE =
codebaseurl
ARCHIVE
属性指定的
.jar
文件的目录。只有
.jar
文件不在同一个目录下的文本文件中指定此属性m-let。如果这个属性没有被指定,该m-let文本文件的基URL使用。
NAME =
mbeanname
MBeanServer.getDefaultDomain()
。
VERSION =
版本
.jar
。这个版本号可以用于指定的
.jar
文件加载从服务器更新存储在本地缓存中的下一次m-let文本文件加载。
版本必须进行一系列的非负十进制整数每相隔一段从一个之前。
ARG TYPE=
argumenttype
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
)。
的m-let服务延伸java.net.URLClassLoader
可以用于代理的虚拟机加载远程类的jar文件。
注—的MLet
类加载器使用的MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer)
加载类,不能在加载的jar文件中找到。
Constructor and Description |
---|
MLet()
构建了一种新的熔体使用默认母ClassLoader代表团。
|
MLet(URL[] urls)
构建了一种新的熔体为指定的URL使用默认母ClassLoader代表团。
|
MLet(URL[] urls, boolean delegateToCLR)
构建了一种新的熔体为指定的URL使用默认母ClassLoader代表团。
|
MLet(URL[] urls, ClassLoader parent)
构建了一种新的熔体为给定的URL。
|
MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)
构建了一种新的熔体为给定的URL。
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
构建了一种新的熔体为指定的URL,父类装载器,并urlstreamhandlerfactory。
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)
构建了一种新的熔体为指定的URL,父类装载器,并urlstreamhandlerfactory。
|
Modifier and Type | Method and Description |
---|---|
void |
addURL(String url)
将指定的URL的URL列表搜索类和资源。
|
void |
addURL(URL url)
将指定的URL的URL列表搜索类和资源。
|
protected URL |
check(String version, URL codebase, String jarfile, MLetContent mlet)
该方法被重写时,将服务支持缓存和版本控制。
|
protected 类<?> |
findClass(String name)
这是正在重新定义的类装载器的主要方法。
|
protected String |
findLibrary(String libname)
返回本地库的绝对路径名。
|
String |
getLibraryDirectory()
获取库装载机在将它们加载到内存之前存储的当前目录。
|
Set<Object> |
getMBeansFromURL(String url)
加载一个包含熔体标签定义要添加到MBean服务器的MBean的文本文件。
|
Set<Object> |
getMBeansFromURL(URL url)
加载一个包含熔体标签定义要添加到MBean服务器的MBean的文本文件。
|
URL[] |
getURLs()
返回加载类和资源的网址的搜索路径。
|
类<?> |
loadClass(String name, ClassLoaderRepository clr)
加载一个类,使用给定的
ClassLoaderRepository 如果类不在熔体的网址找到。
|
void |
postDeregister()
让m-let执行任何操作在MBean服务器被注册后需要。
|
void |
postRegister(Boolean registrationDone)
让m-let执行任何操作在MBean服务器或注册后不需要注册后。
|
void |
preDeregister()
让m-let执行任何操作之前,需要注册的MBean服务器。
|
ObjectName |
preRegister(MBeanServer server, ObjectName name)
让m-let执行任何操作之前,它需要在MBean服务器注册。
|
void |
readExternal(ObjectInput in)
从给定的
ObjectInput 恢复该熔体的含量。
|
void |
setLibraryDirectory(String libdir)
设置库装载程序用于在它们被加载到内存之前存储本地库的目录。
|
void |
writeExternal(ObjectOutput out)
保存该熔体的内容给出的
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
-代表父类装载器。
public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
urls
-从加载的类和资源的URL。
parent
-代表父类装载器。
factory
- urlstreamhandlerfactory创建URL时使用。
public MLet(URL[] urls, boolean delegateToCLR)
urls
-从加载的类和资源的URL。
delegateToCLR
-如果,当一个类不在父类加载器或URL发现,熔体应委托其含有的
ClassLoaderRepository
MBeanServer。
public MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)
urls
-从加载的类和资源的URL。
parent
-代表父类装载器。
delegateToCLR
-如果,当一个类不在父类加载器或URL发现,熔体应委托其含有的
ClassLoaderRepository
MBeanServer。
public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)
urls
-从加载的类和资源的URL。
parent
-代表父类装载器。
factory
- urlstreamhandlerfactory创建URL时使用。
delegateToCLR
-如果,当一个类不在父类加载器或URL发现,熔体应委托其含有的
ClassLoaderRepository
MBeanServer。
public void addURL(URL url)
addURL
接口
MLetMBean
addURL
方法重写,继承类
URLClassLoader
url
的URL添加到URL搜索路径
public void addURL(String url) throws ServiceNotFoundException
addURL
接口
MLetMBean
url
- URL添加。
ServiceNotFoundException
-指定的URL格式不正确。
public URL[] getURLs()
getURLs
接口
MLetMBean
getURLs
方法重写,继承类
URLClassLoader
public Set<Object> getMBeansFromURL(URL url) throws ServiceNotFoundException
getMBeansFromURL
接口
MLetMBean
url
-文本文件被加载的URL的URL对象。
ServiceNotFoundException
-下列错误发生的m-let:文本文件不包含的m-let熔体标签,文本文件没有找到,没有指定标签强制熔体属性,URL的值为空。
IllegalStateException
- MLet MBean是不是一个注册MBeanServer。
public Set<Object> getMBeansFromURL(String url) throws ServiceNotFoundException
getMBeansFromURL
接口
MLetMBean
url
-文本文件被加载的URL字符串对象。
ServiceNotFoundException
-下列错误发生的m-let:文本文件不包含的m-let熔体标签,文本文件没有找到,没有指定标签强制熔体属性,URL是畸形。
IllegalStateException
- MLet MBean是不是一个注册MBeanServer。
public String getLibraryDirectory()
getLibraryDirectory
接口
MLetMBean
UnsupportedOperationException
如果实现不支持存储本Map书馆这样。
setLibraryDirectory(java.lang.String)
public void setLibraryDirectory(String libdir)
setLibraryDirectory
接口
MLetMBean
libdir
由库加载器使用的目录。
UnsupportedOperationException
如果实现不支持存储本Map书馆这样。
getLibraryDirectory()
public ObjectName preRegister(MBeanServer server, ObjectName name) throws 异常
preRegister
接口
MBeanRegistration
server
的MBean服务器中的m-let将注册。
name
的m-let对象名称。
异常
这个例外应该被MBean服务器并重新抛出一mbeanregistrationexception。
public void postRegister(Boolean registrationDone)
postRegister
接口
MBeanRegistration
registrationDone
-是否m-let已成功注册的MBean服务器。价值错误意味着注册阶段已经失败。
public void preDeregister() throws 异常
preDeregister
接口
MBeanRegistration
异常
这个例外应该被MBean服务器并重新抛出一mbeanregistrationexception。
public void postDeregister()
postDeregister
接口
MBeanRegistration
public void writeExternal(ObjectOutput out) throws IOException, UnsupportedOperationException
保存该熔体的内容给出的ObjectOutput
。不是所有的实现都支持这种方法。那些不把UnsupportedOperationException
。子类可以重写此方法以支持它或更改写入数据的格式。
没有指定写入的数据的格式,但如果实施支持writeExternal(java.io.ObjectOutput)
还必须支持readExternal(java.io.ObjectInput)
以这样一种方式,由前写的是什么,可以通过后者读。
writeExternal
接口
Externalizable
out
--对象输出流写入。
IOException
如果写作时发生错误。
UnsupportedOperationException
-如果该实现不支持此操作。
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException, UnsupportedOperationException
从给定的ObjectInput
恢复该熔体的内容。不是所有的实现都支持这种方法。那些不把UnsupportedOperationException
。子类可以重写此方法以支持它或更改读取数据的格式。
没有指定读取数据的格式,但如果实施支持readExternal(java.io.ObjectInput)
还必须支持writeExternal(java.io.ObjectOutput)
以这样一种方式,后者是可以通过前阅读。
readExternal
接口
Externalizable
in
-对象输入流读取。
IOException
如果阅读时发生错误。
ClassNotFoundException
-如果对象正在恢复无法找到类。
UnsupportedOperationException
-如果该实现不支持此操作。
public 类<?> loadClass(String name, ClassLoaderRepository clr) throws ClassNotFoundException
加载一个类,使用给定的ClassLoaderRepository
如果类不在熔体的网址找到。给定的classloaderrepository可以为零,在这种情况下,ClassNotFoundException
立即发生如果类没有在该熔体的网址找到。
name
-类的名字我们要加载。
clr
- classloaderrepository将用于寻找给定的类,如果它不在这个类加载器发现。可能是空的。
ClassNotFoundException
-指定类不能在这个类加载器也不在了classloaderrepository发现。
protected 类<?> findClass(String name) throws ClassNotFoundException
findClass
方法重写,继承类
URLClassLoader
name
-类的名字。
ClassNotFoundException
-指定类不能被发现。
protected String findLibrary(String libname)
OSName/OSArch/OSVersion/lib/nativelibname
),即
在Solaris 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文件发现,VM搜索沿着指定的路径为java.library.path
属性库。
findLibrary
方法重写,继承类
ClassLoader
libname
-图书名称。
System.loadLibrary(String)
,
System.mapLibraryName(String)
protected URL check(String version, URL codebase, String jarfile, MLetContent mlet) throws 异常
该方法被重写时,将服务支持缓存和版本控制。它被称为从getMBeansFromURL
版本时,代码库,及时已经从熔体文件中提取,并可以用来验证它是所有权利负荷给定的MBean,或更换了一个不同的URL。
此方法的默认实现返回codebase
不变。
version
的
.jar
文件版本号存储在本地。
codebase
-远程
.jar
文件基础URL。
jarfile
的
.jar
文件的名称被加载。
mlet
-代表
MLET
标签的
MLetContent
实例。
异常
如果MBean是不能因为某些原因加载。例外将被添加到集合返回
getMBeansFromURL
。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.