下面列出了javax.management.modelmbean.ModelMBeanConstructorInfo#javax.management.openmbean.OpenMBeanInfoSupport 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public MBeanInfo getMBeanInfo() {
return new OpenMBeanInfoSupport(
Greeting.class.getName(), // OpenMBean 类名称
"Greeting OpenMBean 信息", // OpenMBean 描述信息
of(), // OpenMBeanAttributeInfo[] : 无属性信息
of(defaultOpenConstructorInfo()), // OpenMBeanConstructorInfo[] : 默认构造器
of(greetOpenOperationInfo()), // OpenMBeanOperationInfo[] : greet(String) 方法
of() // MBeanNotificationInfo[] : 无通知信息
);
}
private MBeanInfo createMBeanInfo() {
return new OpenMBeanInfoSupport(ModelControllerMBeanHelper.CLASS_NAME,
getDescription(providedDescription),
getAttributes(),
getConstructors(),
getOperations(),
getNotifications(),
createMBeanDescriptor());
}
/**
* Initialize the open mbean metadata
*/
private void initOpenMBeanInfo() {
OpenMBeanAttributeInfoSupport[] attributes = new OpenMBeanAttributeInfoSupport[4];
OpenMBeanConstructorInfoSupport[] constructors = new OpenMBeanConstructorInfoSupport[1];
OpenMBeanOperationInfoSupport[] operations = new OpenMBeanOperationInfoSupport[2];
MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[0];
try {
// Define the attributes
attributes[0] = new OpenMBeanAttributeInfoSupport(ATTR_ID,
"Knowledge Base Id",
SimpleType.STRING,
true,
false,
false);
attributes[1] = new OpenMBeanAttributeInfoSupport(ATTR_SESSION_COUNT,
"Number of created sessions for this Knowledge Base",
SimpleType.LONG,
true,
false,
false);
attributes[2] = new OpenMBeanAttributeInfoSupport(ATTR_GLOBALS,
"List of globals",
globalsTableType,
true,
false,
false );
attributes[3] = new OpenMBeanAttributeInfoSupport( ATTR_PACKAGES,
"List of Packages",
new ArrayType( 1,
SimpleType.STRING ),
true,
false,
false );
//No arg constructor
constructors[0] = new OpenMBeanConstructorInfoSupport( "KnowledgeBaseMonitoringMXBean",
"Constructs a KnowledgeBaseMonitoringMXBean instance.",
new OpenMBeanParameterInfoSupport[0] );
//Operations
OpenMBeanParameterInfo[] params = new OpenMBeanParameterInfoSupport[0];
operations[0] = new OpenMBeanOperationInfoSupport( OP_START_INTERNAL_MBEANS,
"Creates, registers and starts all the dependent MBeans that allow monitor all the details in this KnowledgeBase.",
params,
SimpleType.VOID,
MBeanOperationInfo.INFO );
operations[1] = new OpenMBeanOperationInfoSupport( OP_STOP_INTERNAL_MBEANS,
"Stops and disposes all the dependent MBeans that allow monitor all the details in this KnowledgeBase.",
params,
SimpleType.VOID,
MBeanOperationInfo.INFO );
//Build the info
info = new OpenMBeanInfoSupport( this.getClass().getName(),
"Knowledge Base Monitor MXBean",
attributes,
constructors,
operations,
notifications );
} catch ( Exception e ) {
e.printStackTrace();
}
}