Module java.management
Package javax.management

Interface MBeanServer

所有超接口:
MBeanServerConnection
所有已知子接口:
MBeanServerForwarder

public interface MBeanServer extends MBeanServerConnection

这是代理端MBean操作的接口。它包含了创建、注册和删除MBean所需的方法,以及已注册MBean的访问方法。这是JMX基础设施的核心组件。

用户代码通常不会实现此接口。相反,实现此接口的对象是通过MBeanServerFactory类中的方法之一获取的。

每个添加到MBean服务器的MBean都变得可管理:其属性和操作通过连接到该MBean服务器的连接器/适配器变得可以远程访问。除非是符合JMX规范的MBean,否则无法将Java对象注册到MBean服务器中。

当在MBean服务器中注册或注销MBean时,会发出一个MBeanServerNotification通知。要将对象注册为MBeanServerNotifications的侦听器,应调用MBean服务器方法addNotificationListener,其中ObjectNameMBeanServerDelegateObjectName。这个ObjectName是:
JMImplementation:type=MBeanServerDelegate

createMBeanServernewMBeanServer方法中获取的对象将对其方法应用安全检查,如下所示。

首先,如果没有安全管理器(System.getSecurityManager()为null),则此接口的实现可以自由选择不进行任何检查。

假设存在安全管理器,或者实现选择无论如何进行检查,则将按照以下详细说明进行检查。在接下来的内容中,除非另有说明,className是目标MBean的MBeanInfo.getClassName()返回的字符串。

如果安全检查失败,方法将抛出SecurityException

对于可能抛出InstanceNotFoundException的方法,无论权限如何,对不存在的MBean都会抛出此异常。这是因为不存在的MBean没有className

自JDK版本:
1.5