javax.management.loading (Java SE 22 & JDK 22)
Description: declaration: module: java.management, package: javax.management.loading
Keywords: javax.management.loading package

Module java.management

# Package javax.management.loading

package javax.management.loading

Provides the classes which implement advanced dynamic loading. See the chapter Advanced Dynamic Loading in the JMX Specification.

An MBean that is of a subclass of `ClassLoader` can be used as a class loader to create other MBeans via the method `MBeanServer.createMBean(String, ObjectName, ObjectName, Object[], String[])`, and to instantiate arbitrary objects via the method `MBeanServer.instantiate(String, ObjectName, Object[], String[])`. The `MLet` class is an example of such an MBean. It is a `URLClassLoader`, so the list of URLs to load classes from can be configured.

Additionally, an `MLet` can read a configuration file that specifies a set of MBeans to be registered in the same MBean Server as the `MLet`.

Every MBean Server has a class loader repository containing all MBeans registered in that MBean Server that are of a subclass of `ClassLoader`. The class loader repository is used by the forms of the `createMBean` and `instantiate` methods in the `MBeanServer` interface that do not have an explicit loader parameter. It is also used by the `MLet` class when it does not find a class in its own set of URLs.

If an MBean implements the interface `PrivateClassLoader`, then it is not added to the class loader repository. The class `PrivateMLet` is a subclass of `MLet` that implements `PrivateClassLoader`.

Since:
  1.5
See Also:
  - JMX Specification, version 1.4

- Related Packages
  Package
  Description
  javax.management
  Provides the core classes for the Java Management Extensions.
- Class
  Description
  ClassLoaderRepository
  Instances of this interface are used to keep the list of ClassLoaders registered in an MBean Server.
  DefaultLoaderRepository
  Deprecated.
  Use `MBeanServer.getClassLoaderRepository()` instead.
  MLet
  Deprecated, for removal: This API element is subject to removal in a future version.
  This API is part of Management Applets (m-lets), which is a legacy feature that allows loading of remote MBeans.
  MLetContent
  Deprecated, for removal: This API element is subject to removal in a future version.
  This API is part of Management Applets (m-lets), which is a legacy feature that allows loading of remote MBeans.
  MLetMBean
  Deprecated, for removal: This API element is subject to removal in a future version.
  This API is part of Management Applets (m-lets), which is a legacy feature that allows loading of remote MBeans.
  PrivateClassLoader
  Marker interface indicating that a ClassLoader should not be added to the `ClassLoaderRepository`.
  PrivateMLet
  Deprecated, for removal: This API element is subject to removal in a future version.
  This API is part of Management Applets (m-lets), which is a legacy feature that allows loading of remote MBeans.