- java.lang.Object
 -  
      
- javax.management.MBeanServerInvocationHandler
 
 
-  
       
- 实现的所有接口
 -  
         
InvocationHandler 
public class MBeanServerInvocationHandler extends Object implements InvocationHandler
InvocationHandler,它通过MBean服务器将MBean管理接口中的方法转发给MBean。给定
MBeanServerConnection,该MBean服务器中的MBean的ObjectName,以及使用Standard MBean或MXBean的模式描述MBean的管理接口的Java接口Intf,此类可用于构造MBean的代理。 代理实现接口Intf使得其所有方法通过MBean服务器转发到MBean。如果
InvocationHandler用于MXBean,则方法的参数将从MXBean接口中声明的类型转换为相应的映射类型,并且返回值将从映射类型转换为声明的类型。 例如,使用该方法
public List<String> reverse(List<String> list);
并考虑到为映射类型List<String>为String[],一个呼叫proxy.reverse(someList)将转换someList从List<String>至String[],调用MBean操作reverse,然后转换返回String[]为List<String>。使用此调用处理程序在代理上调用时,方法Object.toString(),Object.hashCode()或Object.equals(Object)仅作为代理MBean上的方法转发到MBean服务器(如果它出现在代理的一个接口。 对于使用
JMX.newMBeanProxy或JMX.newMXBeanProxy创建的代理,这意味着该方法必须出现在Standard MBean或MXBean接口中。 否则这些方法具有以下行为:- toString()返回代理的字符串表示形式
 - hashCode()返回代理的哈希码,使得两个相等的代理具有相同的哈希码
 -  当且仅当Object参数与此代理具有相同的代理类时,equals(Object)才返回true,并且MBeanServerInvocationHandler具有相同的MBeanServerConnection和ObjectName; 如果其中一个
MBeanServerInvocationHandler是使用类参数构造的,则另一个必须使用相同的类为equals才能返回true。 
- 从以下版本开始:
 - 1.5
 
 
-  
        
       
-  
             
构造方法摘要
构造方法 构造器 描述 MBeanServerInvocationHandler(MBeanServerConnection connection, ObjectName objectName)调用处理程序,它通过MBean服务器将方法转发到Standard MBean。MBeanServerInvocationHandler(MBeanServerConnection connection, ObjectName objectName, boolean isMXBean)调用处理程序,可以将方法通过MBean服务器转发到Standard MBean或MXBean。 
-  
             
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 MBeanServerConnectiongetMBeanServerConnection()MBean服务器连接,通过该连接转发使用此处理程序的代理方法。ObjectNamegetObjectName()要转发方法的MBean服务器中MBean的名称。booleanisMXBean()如果为true,则代理用于MXBean,并将适当的映射应用于方法参数和返回值。static <T> TnewProxyInstance(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationBroadcaster)通过将其方法通过给定的MBean服务器转发到指定的MBean,返回实现给定接口的代理。-  
               
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
-  
               
声明方法的接口 java.lang.reflect.InvocationHandler
invoke 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
MBeanServerInvocationHandler
public MBeanServerInvocationHandler(MBeanServerConnection connection, ObjectName objectName)
调用处理程序,它通过MBean服务器将方法转发到Standard MBean。 可以调用此构造函数而不是依赖于
JMX.newMBeanProxy,例如,如果您需要提供不同的ClassLoader到Proxy.newProxyInstance。此构造函数不适用于MXBean。 请使用
MBeanServerInvocationHandler(MBeanServerConnection, ObjectName, boolean)。 此构造函数等效于new MBeanServerInvocationHandler(connection, objectName, false)。- 参数
 -  
              
connection- MBean服务器连接,通过该连接将转发使用此处理程序的代理的所有方法。 -  
              
objectName- 将转发方法的MBean服务器中的MBean的名称。 
 
-  
MBeanServerInvocationHandler
public MBeanServerInvocationHandler(MBeanServerConnection connection, ObjectName objectName, boolean isMXBean)
调用处理程序,可以将方法通过MBean服务器转发到Standard MBean或MXBean。 可以调用此构造函数而不是依赖于
JMX.newMXBeanProxy,例如,如果您需要提供不同的ClassLoader到Proxy.newProxyInstance。- 参数
 -  
              
connection- MBean服务器连接,通过该连接将转发使用此处理程序的代理的所有方法。 -  
              
objectName- 将转发方法的MBean服务器中的MBean的名称。 -  
              
isMXBean- 如果为true,则代理服务器用于MXBean,并且适当的映射将应用于方法参数和返回值。 - 从以下版本开始:
 - 1.6
 
 
 -  
 
-  
             
方法详细信息
-  
getMBeanServerConnection
public MBeanServerConnection getMBeanServerConnection()
MBean服务器连接,通过该连接转发使用此处理程序的代理方法。
- 结果
 - MBean服务器连接。
 - 从以下版本开始:
 - 1.6
 
 
-  
getObjectName
public ObjectName getObjectName()
要转发方法的MBean服务器中MBean的名称。
- 结果
 - 对象名称。
 - 从以下版本开始:
 - 1.6
 
 
-  
isMXBean
public boolean isMXBean()
如果为true,则代理用于MXBean,并将适当的映射应用于方法参数和返回值。
- 结果
 - 代理是否适用于MXBean。
 - 从以下版本开始:
 - 1.6
 
 
-  
newProxyInstance
public static <T> T newProxyInstance(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationBroadcaster)
通过将其方法通过给定的MBean服务器转发到指定的MBean,返回实现给定接口的代理。 从1.6开始,方法
JMX.newMBeanProxy(MBeanServerConnection, ObjectName, Class)和JMX.newMBeanProxy(MBeanServerConnection, ObjectName, Class, boolean)优于该方法。该方法相当于
Proxy.newProxyInstance(interfaceClass.getClassLoader(), interfaces, handler)。 这里handler的结果是new MBeanServerInvocationHandler(connection, objectName),和interfaces是具有如果一个元素的数组notificationBroadcaster为假以及两个如果这是真的。interfaces的第一个元素是interfaceClass,第二个元素(如果存在)是NotificationEmitter.class。- 参数类型
 -  
              
T- 允许编译器知道,如果interfaceClass参数为MyMBean.class,则返回类型为MyMBean。 - 参数
 -  
              
connection- 要转发到的MBean服务器。 -  
              
objectName- 要转发到的connection中的MBean的名称。 -  
              
interfaceClass- MBean导出的管理接口,也将由返回的代理实现。 -  
              
notificationBroadcaster-使返回的代理实现NotificationEmitter经由其方法转发connection。 在代理上调用NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)将导致调用MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object),同样对NotificationBroadcaster和NotificationEmitter的其他方法调用 。 - 结果
 - 新的代理实例。
 - 另请参见:
 -  
              
JMX.newMBeanProxy(MBeanServerConnection, ObjectName, Class, boolean) 
 
 -  
 
 -