public class JMX extends Object
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_VALUE_FIELD
该
defaultValue字段的名称。
|
static String |
IMMUTABLE_INFO_FIELD
该
immutableInfo字段的名称。
|
static String |
INTERFACE_CLASS_NAME_FIELD
该
interfaceClassName字段的名称。
|
static String |
LEGAL_VALUES_FIELD
该
legalValues字段的名称。
|
static String |
MAX_VALUE_FIELD
该
maxValue字段的名称。
|
static String |
MIN_VALUE_FIELD
该
minValue字段的名称。
|
static String |
MXBEAN_FIELD
该
mxbean字段的名称。
|
static String |
OPEN_TYPE_FIELD
该
openType字段的名称。
|
static String |
ORIGINAL_TYPE_FIELD
该
originalType字段的名称。
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
isMXBeanInterface(类<?> interfaceClass)
测试接口是否是一个MXBean接口。
|
static <T> T |
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass)
让一个在本地或远程的MBean服务器标准MBean的代理。
|
static <T> T |
newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationEmitter)
做为在本地或远程管理服务器,也可以支持
NotificationEmitter方法标准MBean的代理。
|
static <T> T |
newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass)
做为在本地或远程的MBean服务器MXBean代理。
|
static <T> T |
newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationEmitter)
做为在本地或远程管理服务器,也可以支持
NotificationEmitter MXBean代理方法。
|
public static final String DEFAULT_VALUE_FIELD
defaultValue字段的名称。
public static final String IMMUTABLE_INFO_FIELD
immutableInfo字段的名称。
public static final String INTERFACE_CLASS_NAME_FIELD
interfaceClassName字段的名称。
public static final String LEGAL_VALUES_FIELD
legalValues字段的名称。
public static final String MAX_VALUE_FIELD
maxValue字段的名称。
public static final String MIN_VALUE_FIELD
minValue字段的名称。
public static final String MXBEAN_FIELD
mxbean字段的名称。
public static final String OPEN_TYPE_FIELD
openType字段的名称。
public static final String ORIGINAL_TYPE_FIELD
originalType字段的名称。
public static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass)
让一个在本地或远程的MBean服务器标准MBean的代理。
如果你有一个MBean服务器mbs含ObjectName name MBean,如果MBean的管理界面是由java接口MyMBean描述,您可以构建这样一个代理的MBean:
mymbean JMX代理=。newmbeanproxy(MBS,名字,MyMBean。类);
假设,例如,MyMBean看起来像这样:
MyMBean的公共接口{getsomeattribute()字符串;公共无效setsomeattribute(字符串值);还有一些操作(字符串参数,int param2);}
然后你可以执行:
proxy.getSomeAttribute()这将导致调用mbs.getAttribute(name, "SomeAttribute")。proxy.setSomeAttribute("whatever")这将导致调用mbs.setAttribute(name, new Attribute("SomeAttribute", "whatever"))。proxy.someOperation("param1", 2)将转换为调用mbs.invoke(name, "someOperation", <etc>)。此方法返回的对象是一个Proxy的InvocationHandler是MBeanServerInvocationHandler。
这种方法相当于newMBeanProxy(connection, objectName, interfaceClass, false)。
T -允许编译器知道如果
interfaceClass参数
MyMBean.class,例如,然后返回类型是
MyMBean。
connection的MBean服务器转发到。
objectName - MBean的名字在
connection期待。
interfaceClass的管理界面,MBean的出口,这也将返回到代理的实现。
IllegalArgumentException -如果
interfaceClass不是
compliant MBean interface
public static <T> T newMBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationEmitter)
做为在本地或远程管理服务器,也可以支持NotificationEmitter方法标准MBean的代理。
该方法具有相同的newMBeanProxy(MBeanServerConnection, ObjectName, Class),但此外,如果notificationEmitter是true,那么MBean是NotificationBroadcaster或NotificationEmitter和返回的代理将实施NotificationEmitter以及interfaceClass。在代理NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)电话会打电话MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object),同样为NotificationBroadcaster和NotificationEmitter其他方法。
T -允许编译器知道如果
interfaceClass参数
MyMBean.class,例如,然后返回类型是
MyMBean。
connection的MBean服务器转发到。
objectName - MBean的名字在
connection期待。
interfaceClass的管理界面,MBean的出口,这也将返回到代理的实现。
connection使
notificationEmitter -返回的代理实现
NotificationEmitter。
IllegalArgumentException -如果
interfaceClass不是
compliant MBean interface
public static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass)
如果你有一个MBean服务器mbs含ObjectName name个MXBean,如果MXBean的管理界面是由java接口MyMXBean描述,您可以构建的MXBean这样的代理:
mymxbean JMX代理=。newmxbeanproxy(MBS,名字,MyMXBean。类);
假设,例如,MyMXBean看起来像这样:
MyMXBean的公共接口{getsimpleattribute()字符串;公共无效setsimpleattribute(字符串值);公共MemoryUsage getmappedattribute();公共无效setmappedattribute(内存使用率内存使用率);一些操作(字符串参数公共内存使用率,内存使用率param2);}
然后:
proxy.getSimpleAttribute()将导致调用mbs.getAttribute(name, "SimpleAttribute")。
proxy.setSimpleAttribute("whatever")将导致调用mbs.setAttribute(name, new Attribute("SimpleAttribute", "whatever"))。
因为String是一个简单的类型,在SimpleType感,它不是一个MXBean上下文改变。的MXBean代理的行为同标准MBean代理(见newMBeanProxy)的属性SimpleAttribute。
proxy.getMappedAttribute()将导致调用mbs.getAttribute("MappedAttribute")。的MXBean映射规则意味着属性MappedAttribute实际类型将CompositeData那就是mbs.getAttribute调用将返回。代理会将CompositeData回到预期型MemoryUsage使用MXBean的映射规则。
同样,proxy.setMappedAttribute(memoryUsage)将MemoryUsage论点为CompositeData之前调用mbs.setAttribute。
proxy.someOperation("whatever", memoryUsage)将MemoryUsage论点为CompositeData叫mbs.invoke。返回的值mbs.invoke也将是一个CompositeData,并代理将转换成需要的类型,MemoryUsage使用MXBean的映射规则。
此方法返回的对象是一个Proxy的InvocationHandler是MBeanServerInvocationHandler。
这种方法相当于newMXBeanProxy(connection, objectName, interfaceClass, false)。
T -允许编译器知道如果
interfaceClass参数
MyMXBean.class,例如,然后返回类型是
MyMXBean。
connection的MBean服务器转发到。
objectName - MBean的名字在
connection期待。
interfaceClass的MXBean接口,这也将返回到代理的实现。
IllegalArgumentException -如果
interfaceClass不是
compliant MXBean interface
public static <T> T newMXBeanProxy(MBeanServerConnection connection, ObjectName objectName, 类<T> interfaceClass, boolean notificationEmitter)
做为在本地或远程管理服务器,也可以支持NotificationEmitter MXBean代理方法。
该方法具有相同的newMXBeanProxy(MBeanServerConnection, ObjectName, Class),但此外,如果notificationEmitter是true,然后MXBean是NotificationBroadcaster或NotificationEmitter和返回的代理将实施NotificationEmitter以及interfaceClass。一个叫NotificationBroadcaster.addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object)在代理将调用MBeanServerConnection.addNotificationListener(ObjectName, NotificationListener, NotificationFilter, Object),同样为NotificationBroadcaster和NotificationEmitter其他方法。
T -允许编译器知道如果
interfaceClass参数
MyMXBean.class,例如,然后返回类型是
MyMXBean。
connection的MBean服务器转发到。
objectName - MBean的名字在
connection期待。
interfaceClass的MXBean接口,这也将返回到代理的实现。
connection使
notificationEmitter -返回的代理实现
NotificationEmitter。
IllegalArgumentException -如果
interfaceClass不是
compliant MXBean interface
public static boolean isMXBeanInterface(类<?> interfaceClass)
测试接口是否是一个MXBean接口。一个接口是一个MXBean接口如果是公的,注释@MXBean或@MXBean(true)或如果它没有一个@MXBean诠释它的名字以“MXBean”。
interfaceClass -候选界面。
interfaceClass是
compliant MXBean interface
NullPointerException -如果
interfaceClass是空的。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.