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.