- 所有已实现的接口:
Closeable
,Externalizable
,Serializable
,AutoCloseable
,MLetMBean
,MBeanRegistration
- 已知子类:
PrivateMLet
MLET
标记具有以下语法:
<MLET
CODE =
类 | OBJECT =
服务文件ARCHIVE = "
归档列表"
[CODEBASE =
代码库URL]
[NAME =
mbean名称]
[VERSION =
版本]
>[
参数表]
</MLET
>
在哪里:
CODE =
类-
此属性指定要获取的 MBean 的完整 Java 类名,包括包名。 MBean 的已编译
.class
文件必须包含在ARCHIVE
属性指定的.jar
文件之一中。CODE
或OBJECT
必须存在。 OBJECT =
服务文件-
此属性指定包含要获取的 MBean 的序列化表示的
.ser
文件。此文件必须包含在ARCHIVE
属性指定的.jar
文件之一中。如果.jar
文件包含目录层次结构,请指定该层次结构中文件的路径。否则将找不到匹配项。CODE
或OBJECT
必须存在。 ARCHIVE = "
归档列表"
-
此强制属性指定一个或多个包含 MBean 或要获取的 MBean 使用的其他资源的
.jar
文件。.jar
文件之一必须包含由CODE
或OBJECT
属性指定的文件。如果 archivelist 包含多个文件:- 每个文件都必须用逗号 (,) 与它后面的文件隔开。
- 档案清单必须用双引号括起来。
.jar
文件在档案清单必须存储在代码库 URL 指定的目录中。 CODEBASE =
代码库URL-
此可选属性指定要获取的 MBean 的代码库 URL。它标识包含由
ARCHIVE
属性指定的.jar
文件的目录。仅当.jar
文件与 m-let 文本文件不在同一目录中时才指定此属性。如果未指定此属性,则使用 m-let 文本文件的基本 URL。 NAME =
mbean名称-
此可选属性指定在 m-let 服务注册时分配给 MBean 实例的对象名称。如果mbean名称以冒号字符 (:) 开头,对象名称的域部分是 MBean 服务的默认域,由
MBeanServer.getDefaultDomain()
返回。 VERSION =
版本-
此可选属性指定要获取的 MBean 和关联的
.jar
文件的版本号。此版本号可用于指定从服务加载.jar
文件,以便在下次加载 m-let 文本文件时更新本地存储在缓存中的文件。版本必须是一系列非负十进制整数,每个整数与前面的整数之间用句点分隔。 - 参数表
-
此可选属性为要实例化的 MBean 指定一个或多个参数的列表。此list描述了要传递给 MBean 的构造方法的参数。使用以下语法指定每个项目参数表:
-
<
ARG TYPE=
参数类型VALUE=
value> -
在哪里:
- 参数类型是将作为参数传递给 MBean 的构造方法的参数类型。
参数列表中的参数类型应该是 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
,可用于在代理的 VM 中加载远程类和 jar 文件。
Note - MLet
类加载器使用 MBeanServerFactory.getClassLoaderRepository(javax.management.MBeanServer)
加载在加载的 jar 文件中找不到的类。
- 自从:
- 1.5
- 参见:
-
构造方法总结
构造方法构造方法描述MLet()
已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 构造一个新的 MLet。已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 为指定的 URL 构造一个新的 MLet。已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 为指定的 URL 构造一个新的 MLet。MLet
(URL[] urls, ClassLoader parent) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。为给定的 URL 构造一个新的 MLet。MLet
(URL[] urls, ClassLoader parent, boolean delegateToCLR) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。为给定的 URL 构造一个新的 MLet。MLet
(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造一个新的 MLet。MLet
(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造一个新的 MLet。 -
方法总结
修饰符和类型方法描述void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将指定的 URL 附加到 URL 列表以搜索类和资源。void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将指定的 URL 附加到 URL 列表以搜索类和资源。protected URL
check
(String version, URL codebase, String jarfile, MLetContent mlet) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。扩展此服务以支持缓存和版本控制时,将重写此方法。protected Class<?>
已弃用,将被删除:此 API 元素可能会在未来版本中删除。这是正在重新定义的类加载器的主要方法。protected String
findLibrary
(String libname) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回本机库的绝对路径名。已弃用,将被删除:此 API 元素可能会在未来版本中删除。获取库加载程序在将本机库加载到内存之前用于存储本机库的当前目录。getMBeansFromURL
(String url) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。加载包含 MLET 标记的文本文件,这些标记定义要添加到 MBean 服务的 MBean。getMBeansFromURL
(URL url) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。加载包含 MLET 标记的文本文件,这些标记定义要添加到 MBean 服务的 MBean。URL[]
getURLs()
已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回用于加载类和资源的 URL 的搜索路径。Class<?>
loadClass
(String name, ClassLoaderRepository clr) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。如果在此 MLet 的 URL 中找不到该类,则使用给定的ClassLoaderRepository
加载该类。void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在 MBean 服务中注销后执行所需的任何操作。void
postRegister
(Boolean registrationDone) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在 MBean 服务中注册后或注册失败后执行所需的任何操作。void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在被 MBean 服务注销之前执行它需要的任何操作。preRegister
(MBeanServer server, ObjectName name) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在注册到 MBean 服务之前执行它需要的任何操作。void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。从给定的ObjectInput
恢复这个 MLet 的内容。void
setLibraryDirectory
(String libdir) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。设置库加载程序在将本机库加载到内存之前用于存储本机库的目录。void
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将此 MLet 的内容保存到给定的ObjectOutput
中。在类 java.net.URLClassLoader 中声明的方法
close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, newInstance, newInstance
在类 java.security.SecureClassLoader 中声明的方法
defineClass, defineClass
在类 java.lang.ClassLoader 中声明的方法
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
在类 java.lang.Object 中声明的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
在接口 javax.management.loading.MLetMBean 中声明的方法
getResource, getResourceAsStream, getResources
-
构造方法详细信息
-
MLet
public MLet()已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 构造一个新的 MLet。 -
MLet
已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 为指定的 URL 构造一个新的 MLet。在父类加载器中首次搜索后,将按照为类和资源指定的顺序搜索 URL。- 参数:
urls
- 从中加载类和资源的 URL。
-
MLet
已弃用,将被删除:此 API 元素可能会在未来版本中删除。为给定的 URL 构造一个新的 MLet。在指定的父类加载器中首先搜索后,将按照为类和资源指定的顺序搜索 URL。 parent 参数将用作委托的父类加载器。- 参数:
urls
- 从中加载类和资源的 URL。parent
- 委托的父类加载器。
-
MLet
已弃用,将被删除:此 API 元素可能会在未来版本中删除。为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造一个新的 MLet。 parent 参数将用作委托的父类加载器。工厂参数将用作流处理程序工厂,以在创建新 URL 时获取协议处理程序。- 参数:
urls
- 从中加载类和资源的 URL。parent
- 委托的父类加载器。factory
- 创建 URL 时要使用的 URLStreamHandlerFactory。
-
MLet
已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用默认委托父 ClassLoader 为指定的 URL 构造一个新的 MLet。在父类加载器中首次搜索后,将按照为类和资源指定的顺序搜索 URL。- 参数:
urls
- 从中加载类和资源的 URL。delegateToCLR
- 如果在父 ClassLoader 或 URL 中找不到类,则 MLet 应委托给包含它的 MBeanServer 的ClassLoaderRepository
。
-
MLet
已弃用,将被删除:此 API 元素可能会在未来版本中删除。为给定的 URL 构造一个新的 MLet。在指定的父类加载器中首先搜索后,将按照为类和资源指定的顺序搜索 URL。 parent 参数将用作委托的父类加载器。- 参数:
urls
- 从中加载类和资源的 URL。parent
- 委托的父类加载器。delegateToCLR
- 如果在父 ClassLoader 或 URL 中找不到类,则 MLet 应委托给包含它的 MBeanServer 的ClassLoaderRepository
。
-
MLet
public MLet(URL [] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。为指定的 URL、父类加载器和 URLStreamHandlerFactory 构造一个新的 MLet。 parent 参数将用作委托的父类加载器。工厂参数将用作流处理程序工厂,以在创建新 URL 时获取协议处理程序。- 参数:
urls
- 从中加载类和资源的 URL。parent
- 委托的父类加载器。factory
- 创建 URL 时要使用的 URLStreamHandlerFactory。delegateToCLR
- 如果在父 ClassLoader 或 URL 中找不到类,则 MLet 应委托给包含它的 MBeanServer 的ClassLoaderRepository
。
-
-
方法详情
-
addURL
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将指定的 URL 附加到 URL 列表以搜索类和资源。- 指定者:
addURL
在接口MLetMBean
中- 重写:
addURL
在类URLClassLoader
中- 参数:
url
- 要添加到 URL 搜索路径的 URL
-
addURL
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将指定的 URL 附加到 URL 列表以搜索类和资源。- 指定者:
addURL
在接口MLetMBean
中- 参数:
url
- 要添加的 URL。- 抛出:
ServiceNotFoundException
- 指定的 URL 格式不正确。
-
getURLs
已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回用于加载类和资源的 URL 的搜索路径。这包括指定给构造方法的原始 URL 列表,以及随后由 addURL() 方法附加的任何 URL。- 指定者:
getURLs
在接口MLetMBean
中- 重写:
getURLs
在类URLClassLoader
中- 返回:
- 用于加载类和资源的 URL 的搜索路径。
-
getMBeansFromURL
已弃用,将被删除:此 API 元素可能会在未来版本中删除。加载包含 MLET 标记的文本文件,这些标记定义要添加到 MBean 服务的 MBean。文本文件的位置由 URL 指定。 MLET 文件中指定的 MBean 将在 MBean 服务中实例化和注册。- 指定者:
getMBeansFromURL
在接口MLetMBean
中- 参数:
url
- 要作为 URL 对象加载的文本文件的 URL。- 返回:
- 一组包含加载的 m-let 文本文件中每个 MLET 标记的一个条目。每个条目指定创建的 MBean 的 ObjectInstance,或者如果无法创建 MBean,则指定可抛出的对象(即错误或异常)。
- 抛出:
ServiceNotFoundException
- 发生以下错误之一:m-let 文本文件不包含 MLET 标记,未找到 m-let 文本文件,未指定 MLET 标记的强制属性,url 的值为 null .IllegalStateException
- MLet MBean 未注册到 MBeanServer。
-
getMBeansFromURL
已弃用,将被删除:此 API 元素可能会在未来版本中删除。加载包含 MLET 标记的文本文件,这些标记定义要添加到 MBean 服务的 MBean。文本文件的位置由 URL 指定。 MLET 文件中指定的 MBean 将在 MBean 服务中实例化和注册。- 指定者:
getMBeansFromURL
在接口MLetMBean
中- 参数:
url
- 要作为字符串对象加载的文本文件的 URL。- 返回:
- 一组包含加载的 m-let 文本文件中每个 MLET 标记的一个条目。每个条目指定创建的 MBean 的 ObjectInstance,或者如果无法创建 MBean,则指定可抛出的对象(即错误或异常)。
- 抛出:
ServiceNotFoundException
- 发生以下错误之一:m-let 文本文件不包含 MLET 标记,未找到 m-let 文本文件,未指定 MLET 标记的强制属性,url 格式错误。IllegalStateException
- MLet MBean 未注册到 MBeanServer。
-
getLibraryDirectory
已弃用,将被删除:此 API 元素可能会在未来版本中删除。获取库加载程序在将本机库加载到内存之前用于存储本机库的当前目录。- 指定者:
getLibraryDirectory
在接口MLetMBean
中- 返回:
- 库加载程序使用的当前目录。
- 抛出:
UnsupportedOperationException
- 如果此实现不支持以这种方式存储本机库。- 参见:
-
setLibraryDirectory
已弃用,将被删除:此 API 元素可能会在未来版本中删除。设置库加载程序在将本机库加载到内存之前用于存储本机库的目录。- 指定者:
setLibraryDirectory
在接口MLetMBean
中- 参数:
libdir
- 库加载器使用的目录。- 抛出:
UnsupportedOperationException
- 如果此实现不支持以这种方式存储本机库。- 参见:
-
preRegister
已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在注册到 MBean 服务之前执行它需要的任何操作。如果 ObjectName 为 null,则 m-let 为其注册提供默认名称 <defaultDomain>:type=MLet- 指定者:
preRegister
在接口MBeanRegistration
中- 参数:
server
- 将在其中注册 m-let 的 MBean 服务。name
- m-let 的对象名称。- 返回:
- m-let 注册的名称。
- 抛出:
Exception
- 此异常应由 MBean 服务捕获并作为 MBeanRegistrationException 重新抛出。
-
postRegister
已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在 MBean 服务中注册后或注册失败后执行所需的任何操作。- 指定者:
postRegister
在接口MBeanRegistration
中- 参数:
registrationDone
- 指示 m-let 是否已在 MBean 服务中成功注册。值 false 表示注册阶段失败。
-
preDeregister
已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在被 MBean 服务注销之前执行它需要的任何操作。- 指定者:
preDeregister
在接口MBeanRegistration
中- 抛出:
Exception
- 此异常应由 MBean 服务捕获并作为 MBeanRegistrationException 重新抛出。
-
postDeregister
public void postDeregister()已弃用,将被删除:此 API 元素可能会在未来版本中删除。允许 m-let 在 MBean 服务中注销后执行所需的任何操作。- 指定者:
postDeregister
在接口MBeanRegistration
中
-
writeExternal
已弃用,将被删除:此 API 元素可能会在未来版本中删除。将此 MLet 的内容保存到给定的
ObjectOutput
中。并非所有实现都支持此方法。那些不抛出UnsupportedOperationException
的。子类可以覆盖此方法以支持它或更改写入数据的格式。写入数据的格式未指定,但如果实现支持
writeExternal(java.io.ObjectOutput)
,则它也必须以这样的方式支持readExternal(java.io.ObjectInput)
,即前者写入的内容可以被后者读取。- 指定者:
writeExternal
在接口Externalizable
中- 参数:
out
- 要写入的对象输出流。- 抛出:
IOException
- 如果写入时出现问题。UnsupportedOperationException
- 如果此实现不支持此操作。
-
readExternal
public void readExternal(ObjectInput in) throws IOException , ClassNotFoundException , UnsupportedOperationException 已弃用,将被删除:此 API 元素可能会在未来版本中删除。从给定的
ObjectInput
恢复这个 MLet 的内容。并非所有实现都支持此方法。那些不抛出UnsupportedOperationException
的。子类可以覆盖此方法以支持它或更改读取数据的格式。未指定读取数据的格式,但如果实现支持
readExternal(java.io.ObjectInput)
,则它也必须支持writeExternal(java.io.ObjectOutput)
,以便后者写入的内容可以被前者读取。- 指定者:
readExternal
在接口Externalizable
中- 参数:
in
- 要读取的对象输入流。- 抛出:
IOException
- 如果读取时出现问题。ClassNotFoundException
- 如果找不到要恢复的对象的类。UnsupportedOperationException
- 如果此实现不支持此操作。
-
loadClass
已弃用,将被删除:此 API 元素可能会在未来版本中删除。如果在此 MLet 的 URL 中找不到该类,则使用给定的
ClassLoaderRepository
加载该类。给定的 ClassLoaderRepository 可以为 null,在这种情况下,如果在此 MLet 的 URL 中找不到该类,则会立即出现ClassNotFoundException
。- 参数:
name
- 我们要加载的类的名称。clr
- 如果在此 ClassLoader 中找不到,将用于搜索给定类的 ClassLoaderRepository。可能为空。- 返回:
- 结果类对象。
- 抛出:
ClassNotFoundException
- 在此 ClassLoader 或给定的 ClassLoaderRepository 中找不到指定的类。
-
findClass
已弃用,将被删除:此 API 元素可能会在未来版本中删除。这是正在重新定义的类加载器的主要方法。- 重写:
findClass
在类URLClassLoader
中- 参数:
name
- 类的名称。- 返回:
- 结果类对象。
- 抛出:
ClassNotFoundException
- 找不到指定的类。
-
findLibrary
已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回本机库的绝对路径名。 VM 调用此方法来定位属于使用此类加载器加载的类的本机库。在 JAR 文件中搜索库,首先仅使用本机库名称,如果未找到本机库名称以及特定于体系结构的路径名 (OSName/OSArch/OSVersion/lib/nativelibname
),即Solaris SPARC 5.7 上的库统计信息将在 JAR 文件中搜索为:
- libstat.so
- SunOS/sparc/5.7/lib/libstat.so
- stat.dll
- WindowsNT/x86/4.0/lib/stat.dll
更具体地说,设
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
- 库名称。- 返回:
- 本机库的绝对路径。
- 参见:
-
check
protected URL check(String version, URL codebase, String jarfile, MLetContent mlet) throws Exception 已弃用,将被删除:此 API 元素可能会在未来版本中删除。扩展此服务以支持缓存和版本控制时,将覆盖此方法。当从 MLet 文件中提取版本、代码库和 jarfile 时,它从
getMBeansFromURL
调用,可用于验证是否可以加载给定的 MBean,或将给定的 URL 替换为不同的 URL。此方法的默认实现返回
codebase
不变。- 参数:
version
- 本地存储的.jar
文件的版本号。codebase
- 远程.jar
文件的基本 URL。jarfile
- 要加载的.jar
文件的名称。mlet
- 代表MLET
标签的MLetContent
实例。- 返回:
- 用于加载的 MBean 的代码库。返回值不应为空。
- 抛出:
Exception
- 如果由于某种原因不加载 MBean。异常将添加到getMBeansFromURL
返回的集合中。
-