List of usage examples for javax.management MBeanOperationInfo ACTION_INFO
int ACTION_INFO
To view the source code for javax.management MBeanOperationInfo ACTION_INFO.
Click Source Link
From source file:com.cyberway.issue.crawler.Heritrix.java
/** * Build up the MBean info for Heritrix main. * @return Return created mbean info instance. *//*from w ww.j a v a 2 s . c o m*/ protected OpenMBeanInfoSupport buildMBeanInfo() { OpenMBeanAttributeInfoSupport[] attributes = new OpenMBeanAttributeInfoSupport[Heritrix.ATTRIBUTE_LIST .size()]; OpenMBeanConstructorInfoSupport[] constructors = new OpenMBeanConstructorInfoSupport[1]; OpenMBeanOperationInfoSupport[] operations = new OpenMBeanOperationInfoSupport[Heritrix.OPERATION_LIST .size()]; MBeanNotificationInfo[] notifications = new MBeanNotificationInfo[0]; // Attributes. attributes[0] = new OpenMBeanAttributeInfoSupport(Heritrix.STATUS_ATTR, "Short basic status message", SimpleType.STRING, true, false, false); // Attributes. attributes[1] = new OpenMBeanAttributeInfoSupport(Heritrix.VERSION_ATTR, "Heritrix version", SimpleType.STRING, true, false, false); // Attributes. attributes[2] = new OpenMBeanAttributeInfoSupport(Heritrix.ISRUNNING_ATTR, "Whether the crawler is running", SimpleType.BOOLEAN, true, false, false); // Attributes. attributes[3] = new OpenMBeanAttributeInfoSupport(Heritrix.ISCRAWLING_ATTR, "Whether the crawler is crawling", SimpleType.BOOLEAN, true, false, false); // Attributes. attributes[4] = new OpenMBeanAttributeInfoSupport(Heritrix.ALERTCOUNT_ATTR, "The number of alerts", SimpleType.INTEGER, true, false, false); // Attributes. attributes[5] = new OpenMBeanAttributeInfoSupport(Heritrix.NEWALERTCOUNT_ATTR, "The number of new alerts", SimpleType.INTEGER, true, false, false); // Attributes. attributes[6] = new OpenMBeanAttributeInfoSupport(Heritrix.CURRENTJOB_ATTR, "The name of the job currently being crawled", SimpleType.STRING, true, false, false); // Constructors. constructors[0] = new OpenMBeanConstructorInfoSupport("HeritrixOpenMBean", "Constructs Heritrix OpenMBean instance ", new OpenMBeanParameterInfoSupport[0]); // Operations. operations[0] = new OpenMBeanOperationInfoSupport(Heritrix.START_OPER, "Start Heritrix instance", null, SimpleType.VOID, MBeanOperationInfo.ACTION); operations[1] = new OpenMBeanOperationInfoSupport(Heritrix.STOP_OPER, "Stop Heritrix instance", null, SimpleType.VOID, MBeanOperationInfo.ACTION); OpenMBeanParameterInfo[] args = new OpenMBeanParameterInfoSupport[1]; args[0] = new OpenMBeanParameterInfoSupport("threadName", "Name of thread to send interrupt", SimpleType.STRING); operations[2] = new OpenMBeanOperationInfoSupport(Heritrix.INTERRUPT_OPER, "Send thread an interrupt " + "(Used debugging)", args, SimpleType.STRING, MBeanOperationInfo.ACTION_INFO); operations[3] = new OpenMBeanOperationInfoSupport(Heritrix.START_CRAWLING_OPER, "Set Heritrix instance " + "into crawling mode", null, SimpleType.VOID, MBeanOperationInfo.ACTION); operations[4] = new OpenMBeanOperationInfoSupport(Heritrix.STOP_CRAWLING_OPER, "Unset Heritrix instance " + " crawling mode", null, SimpleType.VOID, MBeanOperationInfo.ACTION); args = new OpenMBeanParameterInfoSupport[4]; args[0] = new OpenMBeanParameterInfoSupport("pathOrURL", "Path/URL to order or jar of order+seed", SimpleType.STRING); args[1] = new OpenMBeanParameterInfoSupport("name", "Basename for new job", SimpleType.STRING); args[2] = new OpenMBeanParameterInfoSupport("description", "Description to save with new job", SimpleType.STRING); args[3] = new OpenMBeanParameterInfoSupport("seeds", "Initial seed(s)", SimpleType.STRING); operations[5] = new OpenMBeanOperationInfoSupport(Heritrix.ADD_CRAWL_JOB_OPER, "Add new crawl job", args, SimpleType.STRING, MBeanOperationInfo.ACTION_INFO); args = new OpenMBeanParameterInfoSupport[4]; args[0] = new OpenMBeanParameterInfoSupport("uidOrName", "Job UID or profile name", SimpleType.STRING); args[1] = new OpenMBeanParameterInfoSupport("name", "Basename for new job", SimpleType.STRING); args[2] = new OpenMBeanParameterInfoSupport("description", "Description to save with new job", SimpleType.STRING); args[3] = new OpenMBeanParameterInfoSupport("seeds", "Initial seed(s)", SimpleType.STRING); operations[6] = new OpenMBeanOperationInfoSupport(Heritrix.ADD_CRAWL_JOB_BASEDON_OPER, "Add a new crawl job based on passed Job UID or profile", args, SimpleType.STRING, MBeanOperationInfo.ACTION_INFO); args = new OpenMBeanParameterInfoSupport[1]; args[0] = new OpenMBeanParameterInfoSupport("UID", "Job UID", SimpleType.STRING); operations[7] = new OpenMBeanOperationInfoSupport(DELETE_CRAWL_JOB_OPER, "Delete/stop this crawl job", args, SimpleType.VOID, MBeanOperationInfo.ACTION); args = new OpenMBeanParameterInfoSupport[1]; args[0] = new OpenMBeanParameterInfoSupport("index", "Zero-based index into array of alerts", SimpleType.INTEGER); operations[8] = new OpenMBeanOperationInfoSupport(Heritrix.ALERT_OPER, "Return alert at passed index", args, SimpleType.STRING, MBeanOperationInfo.ACTION_INFO); try { this.jobCompositeType = new CompositeType("job", "Job attributes", JOB_KEYS, new String[] { "Job unique ID", "Job name", "Job status" }, new OpenType[] { SimpleType.STRING, SimpleType.STRING, SimpleType.STRING }); this.jobsTabularType = new TabularType("jobs", "List of jobs", this.jobCompositeType, new String[] { "uid" }); } catch (OpenDataException e) { // This should never happen. throw new RuntimeException(e); } operations[9] = new OpenMBeanOperationInfoSupport(Heritrix.PENDING_JOBS_OPER, "List of pending jobs (or null if none)", null, this.jobsTabularType, MBeanOperationInfo.INFO); operations[10] = new OpenMBeanOperationInfoSupport(Heritrix.COMPLETED_JOBS_OPER, "List of completed jobs (or null if none)", null, this.jobsTabularType, MBeanOperationInfo.INFO); args = new OpenMBeanParameterInfoSupport[2]; args[0] = new OpenMBeanParameterInfoSupport("uid", "Job unique ID", SimpleType.STRING); args[1] = new OpenMBeanParameterInfoSupport("name", "Report name (e.g. crawl-report, etc.)", SimpleType.STRING); operations[11] = new OpenMBeanOperationInfoSupport(Heritrix.CRAWLEND_REPORT_OPER, "Return crawl-end report", args, SimpleType.STRING, MBeanOperationInfo.ACTION_INFO); operations[12] = new OpenMBeanOperationInfoSupport(Heritrix.SHUTDOWN_OPER, "Shutdown container", null, SimpleType.VOID, MBeanOperationInfo.ACTION); args = new OpenMBeanParameterInfoSupport[2]; args[0] = new OpenMBeanParameterInfoSupport("level", "Log level: e.g. SEVERE, WARNING, etc.", SimpleType.STRING); args[1] = new OpenMBeanParameterInfoSupport("message", "Log message", SimpleType.STRING); operations[13] = new OpenMBeanOperationInfoSupport(Heritrix.LOG_OPER, "Add a log message", args, SimpleType.VOID, MBeanOperationInfo.ACTION); operations[14] = new OpenMBeanOperationInfoSupport(Heritrix.DESTROY_OPER, "Destroy Heritrix instance", null, SimpleType.VOID, MBeanOperationInfo.ACTION); operations[15] = new OpenMBeanOperationInfoSupport(Heritrix.TERMINATE_CRAWL_JOB_OPER, "Returns false if no current job", null, SimpleType.BOOLEAN, MBeanOperationInfo.ACTION); operations[16] = new OpenMBeanOperationInfoSupport(Heritrix.REBIND_JNDI_OPER, "Rebinds this Heritrix with JNDI.", null, SimpleType.VOID, MBeanOperationInfo.ACTION); // Build the info object. return new OpenMBeanInfoSupport(this.getClass().getName(), "Heritrix Main OpenMBean", attributes, constructors, operations, notifications); }