org.xins.server.APIManagerMBean Maven / Gradle / Ivy
/*
* $Id: APIManagerMBean.java,v 1.12 2010/09/29 17:21:48 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.server;
import java.io.IOException;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.TabularDataSupport;
/**
* Management bean for the API.
*
* @version $Revision: 1.12 $ $Date: 2010/09/29 17:21:48 $
* @author Anthony Goubard
*
* @since XINS 1.5.0
*/
public interface APIManagerMBean {
/**
* Gets the version of the API.
*
* @return
* the version of the API running.
*
* @throws IOException
* if the connection to the MBean fails.
*/
String getAPIVersion() throws IOException;
/**
* Gets the version of XINS which is running this API.
*
* @return
* the version of XINS running the API.
*
* @throws IOException
* if the connection to the MBean fails.
*/
String getXINSVersion() throws IOException;
/**
* Gets the name of the API.
*
* @return
* the name the API.
*
* @throws IOException
* if the connection to the MBean fails.
*/
String getAPIName() throws IOException;
/**
* Gets the bootstrap properties.
*
* @return
* the bootstrap properties for this API.
*
* @throws IOException
* if the connection to the MBean fails.
*/
CompositeDataSupport getBootstrapProperties() throws IOException;
/**
* Gets the runtime properties.
*
* @return
* the runtime properties for this API.
*
* @throws IOException
* if the connection to the MBean fails.
*/
CompositeDataSupport getRuntimeProperties() throws IOException;
/**
* Gets the time at which the API was started.
*
* @return
* the time at which the API was started in the form YYYYMMDDThhmmssSSS+TZ.
*
* @throws IOException
* if the connection to the MBean fails.
*/
String getStartupTime() throws IOException;
/**
* Gets the list of the API functions.
*
* @return
* the list of the API function names.
*
* @throws IOException
* if the connection to the MBean fails.
*/
public String[] getFunctionNames() throws IOException;
/**
* Gets the statistics of the functions.
*
* @return
* the statistics of the functions.
*
* @throws IOException
* if the connection to the MBean fails.
*/
public TabularDataSupport getStatistics() throws IOException;
/**
* Executes the _NoOp meta function.
*
* @throws IOException
* if the connection to the MBean fails.
*
* @throws NoSuchFunctionException
* if the _noOp meta function is not found.
*
* @throws AccessDeniedException
* if the JMX client is not in the ACLs to execute the _noOp meta function.
*/
void noOp() throws IOException, NoSuchFunctionException, AccessDeniedException;
/**
* Reloads the runtime properties if the file has changed.
*
* @throws IOException
* if the connection to the MBean fails.
*
* @throws NoSuchFunctionException
* if the _ReloadProperties meta function is not found.
*
* @throws AccessDeniedException
* if the JMX client is not in the ACLs to execute the _ReloadProperties meta function.
*/
void reloadProperties() throws IOException, NoSuchFunctionException, AccessDeniedException;
}