|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.management.loading
类 MLet
java.lang.Object java.lang.ClassLoader java.security.SecureClassLoader java.net.URLClassLoader javax.management.loading.MLet
- 所有已实现的接口:
- Externalizable, Serializable, MLetMBean, MBeanRegistration
- 直接已知子类:
- PrivateMLet
-
public class MLet
- extends URLClassLoader
- implements MLetMBean, MBeanRegistration, Externalizable
允许实例化和注册来自远程 URL 的 MBean 服务器中一个或几个 MBean。M-let 是管理 applet 的捷径。m-let 服务通过加载一个 m-let 文本文件来完成此功能,该文本文件指定了要获取的 MBean 上的信息。每个 MBean 上的信息是在标记的单个实例中指定的,该标记称为 MLET 标记。m-let 文本文件的位置由 URL 指定。
MLET
标记具有以下语法:
<MLET
CODE =
class | OBJECT =
serfile
ARCHIVE = "
archiveList"
[CODEBASE =
codebaseURL]
[NAME =
mbeanname]
[VERSION =
version]
>
[
arglist]
</MLET
>
其中:
-
CODE =
class -
此属性指定了要获取的 MBean 的 Java 类的全名,包括包名称。编译后的 MBean 的
.class
文件必须包含在由ARCHIVE
属性指定的.jar
文件中。CODE
或OBJECT
必须存在。 -
OBJECT =
serfile -
此属性指定了
.ser
文件,该文件包含要获取的 MBean 的序列化表示形式。此文件必须包含在由ARCHIVE
属性指定的.jar
文件中。如果.jar
文件包含目录层次结构,则要指定此层次结构中的文件路径。否则将找不到匹配。CODE
或OBJECT
必须存在。 -
ARCHIVE = "
archiveList"
-
此必需的属性指定了一个或多个
.jar
文件,这些文件包含要获取的 MBean 所使用的 MBean 或其他资源。.jar
文件之一必须包含CODE
或OBJECT
属性所指定的文件。如果 archivelist 包含多个文件:- 必须用逗号 (,) 将每个文件与它后面的文件隔开。
- archivelist 必须用双引号引起来。
.jar
文件必须存储在代码基 URL 所指定的目录中。 -
CODEBASE =
codebaseURL -
此可选属性指定了要获取的 MBean 的代码基 URL。它标识了包含
ARCHIVE
所指定的.jar
文件的目录。仅当.jar
文件与 m-let 文本文件不在相同目录时,指定此属性。如果不指定此属性,则使用 m-let 文本文件的基本 URL。 -
NAME =
mbeanname -
当 m-let 注册了 MBean 实例时,此可选属性指定了要分配给 MBean 实例的对象名称。如果 mbeanname 以冒号字符 (:) 开始,则对象名称的域部分是代理的域。m-let 服务调用 Framework 类的
getDomain()
方法以获取此信息。 -
VERSION =
version -
此可选属性指定了要获取的 MBean 版本号和关联的
.jar
文件。此版本号可用于指定从服务器加载.jar
文件,以便在下次调用 m-let 文本文件时更新存储在本地缓存中的文件。version 必须是一系列非负的十进制整数,每个整数通过句点与它前面的整数隔开。 - arglist
- 此可选属性指定了要被实例化的 MBean 的一个或多个参数的列表。此列表描述了要传递给 MBean 的构造方法的参数。使用以下语法指定 arglist 中的每项:
-
<
ARG TYPE=
argumentTypeVALUE=
value> - 其中:
- argumentType 是要作为参数传递给 MBean 的构造方法的参数类型。
参数列表中的参数类型应为 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 Service 扩展了 java.net.URLClassLoader
,它能够用于加载代理的 VM 中的远程类和 jar 文件。
注意 - MLet
类加载器使用 MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer)
来加载在已加载 jar 文件中找不到的类。
- 从以下版本开始:
- 1.5
- 另请参见:
- 序列化表格
构造方法摘要 | |
---|---|
MLet() 使用默认的代理父 ClassLoader 构造新 MLet。 |
|
MLet(URL[] urls) 使用默认的代理父 ClassLoader 为指定的 URL 构造新 MLet。 |
|
MLet(URL[] urls, boolean delegateToCLR) 使用默认的代理父 ClassLoader 为指定的 URL 构造新 MLet。 |
|
MLet(URL[] urls, ClassLoader parent) 为给定的 URL 构造新 MLet。 |
|
MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR) 为给定的 URL 构造新 MLet。 |
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) 为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造新 MLet。 |
|
MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR) 为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造新 MLet。 |
方法摘要 | |
---|---|
void |
addURL(String url) 将指定的 URL 追加到 URL 列表中,以便搜索类和资源。 |
void |
addURL(URL url) 将指定的 URL 追加到 URL 列表中,以便搜索类和资源。 |
protected URL |
check(String version, URL codebase, String jarfile, javax.management.loading.MLetContent mlet) 当扩展此服务以支持缓存和版本控制时,要重写此方法。 |
protected Class |
findClass(String name) 这是要重新定义的类加载器的主要方法。 |
protected String |
findLibrary(String libname) 返回本机库的绝对路径名称。 |
String |
getLibraryDirectory() 获取库加载器在将本机库加载到内存中之前用于存储这些本机库的当前目录。 |
Set |
getMBeansFromURL(String url) 加载一个包含 MLET 标记的文本文件,这些标记定义了要添加到代理的 MBean。 |
Set |
getMBeansFromURL(URL url) 加载一个包含 MLET 标记的文本文件,这些标记定义了要添加到代理的 MBean。 |
URL[] |
getURLs() 返回用于加载类和资源的 URL 搜索路径。 |
Class |
loadClass(String name, ClassLoaderRepository clr) 如果在此 MLet 的 URL 中找不到某个类,则使用给定的 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 恢复此 MLet 的内容。 |
void |
setLibraryDirectory(String libdir) 设置库加载器在将本机库加载到内存中之前用于存储这些本机库的目录。 |
void |
writeExternal(ObjectOutput out) 将此 MLet 的内容保存到给定的 ObjectOutput 。 |
从类 java.net.URLClassLoader 继承的方法 |
---|
definePackage, findResource, findResources, getPermissions, newInstance, newInstance |
从类 java.security.SecureClassLoader 继承的方法 |
---|
defineClass, defineClass |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 javax.management.loading.MLetMBean 继承的方法 |
---|
getResource, getResourceAsStream, getResources |
构造方法详细信息 |
---|
MLet
public MLet()
- 使用默认的代理父 ClassLoader 构造新 MLet。
MLet
public MLet(URL[] urls)
-
使用默认的代理父 ClassLoader 为指定的 URL 构造新 MLet。首先在父类加载器中搜索 URL,然后按照为类和资源指定的顺序搜索 URL。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。
MLet
public MLet(URL[] urls, ClassLoader parent)
-
为给定的 URL 构造新 MLet。首先在指定的父类加载器中搜索 URL,然后按照为类和资源指定的顺序搜索 URL。该父参数将用作代理的父类加载器。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。 -
parent
- 代理的父类加载器。
MLet
public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)
-
为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造新 MLet。该父参数将用作代理的父类加载器。该工厂参数将用作创建新 URL 时获取协议处理程序的流处理程序工厂。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。 -
parent
- 代理的父类加载器。 -
factory
- 创建 URL 时要使用的 URLStreamHandlerFactory。
MLet
public MLet(URL[] urls, boolean delegateToCLR)
-
使用默认的代理父 ClassLoader 为指定的 URL 构造新 MLet。首先在父类加载器中搜索 URL,然后按照为类和资源指定的顺序搜索 URL。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。 -
delegateToCLR
- 当某个类在父 ClassLoader 或 URL 中均未找到时,如果 MLet 应该委托给其包含的 MBeanServer 的ClassLoaderRepository
,则为 true。
MLet
public MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)
-
为给定的 URL 构造新 MLet。首先在指定的父类加载器中搜索 URL,然后按照为类和资源指定的顺序搜索 URL。该父参数将用作代理的父类加载器。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。 -
parent
- 代理的父类加载器。 -
delegateToCLR
- 当某个类在父 ClassLoader 或 URL 中均未找到时,如果 MLet 应该委托给其包含的 MBeanServer 的ClassLoaderRepository
,则为 true。
MLet
public MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)
-
为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造新 MLet。该父参数将用作代理的父类加载器。该工厂参数将用作创建新 URL 时获取协议处理程序的流处理程序工厂。
- 参数:
-
urls
- 从其位置加载类和资源的 URL。 -
parent
- 代理的父类加载器。 -
factory
- 创建 URL 时要使用的 URLStreamHandlerFactory。 -
delegateToCLR
- 当某个类在父 ClassLoader 或 URL 中均未找到时,如果 MLet 应该委托给其包含的 MBeanServer 的ClassLoaderRepository
,则为 true。
方法详细信息 |
---|
addURL
public void addURL(URL url)
- 将指定的 URL 追加到 URL 列表中,以便搜索类和资源。
-
- 指定者:
-
接口
MLetMBean
中的addURL
- 覆盖:
-
类
URLClassLoader
中的addURL
-
- 参数:
-
url
- 将添加到 URL 搜索路径中的 URL