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 ( ) ; } }
Initialize the open mbean metadata