package com.javamonitor.mbeans;
/**
* The interface to the server mbean.
*
* @author Kees Jan Koster <kjkoster@kjkoster.org>
*/
public interface ServerMBean {
/**
* The name of the application server that we run in.
*
* @return The name of the application server.
* @throws Exception
* When there was a problem querying JMX.
*/
String getName() throws Exception;
/**
* The version of the application server that we run in.
*
* @return The version of the application server.
* @throws Exception
* When there was a problem querying JMX.
*/
String getVersion() throws Exception;
/**
* The lowest HTTP port in use in this application server that we run in.
* Actually, this is a bit of a misnomer. Not all servers are HTTP servers.
* For example, we support the Openfire XMPP server, which only uses HTTP
* for configuration and not for actual services to clients.
*
* @return The lowest service port in use in this application server, or -1
* if no port is known.
* @throws Exception
* When there was a problem querying JMX.
*/
Integer getHttpPort() throws Exception;
/**
* Find the last exception that this probe saw. We use it to send to the
* collector server, once the connection is restored, and we use it to avoid
* logging an exception every minute while the connection to the collector
* servers is down.
*
* @return The last exception we saw.
*/
Throwable getLastException();
}