Class CommandLineResourceMonitorClient

java.lang.Object
  extended by CommandLineResourceMonitorClient
All Implemented Interfaces:
ClientMessageWriter

public class CommandLineResourceMonitorClient
extends java.lang.Object
implements ClientMessageWriter

This class defines a command-line application that may serve as a resource monitor client for use with SLAMD. All of the configuration is done through command-line options.

Author:
Neil A. Wilson

Field Summary
static java.lang.String PROPERTY_AUTH_ID
          The name of the configuration property that specifies the authentication ID.
static java.lang.String PROPERTY_AUTH_PW
          The name of the configuration property that specifies the authentication password.
static java.lang.String PROPERTY_AUTO_RECONNECT
          The name of the configuration property that indicates whether to automatically reconnect to the server if the connection is lost.
static java.lang.String PROPERTY_BLIND_TRUST
          The name of the configuration property that specifies whether to blindly trust any certificate.
static java.lang.String PROPERTY_ENABLE_RT
          The name of the configuration property that specifies whether to enable real-time statistics tracking.
static java.lang.String PROPERTY_KEY_PASS
          The name of the configuration property that specifies the password for the SSL keystore.
static java.lang.String PROPERTY_KEY_STORE
          The name of the configuration property that specifies the path to the SSL keystore.
static java.lang.String PROPERTY_RT_INTERVAL
          The name of the configuration property that specifies the interval for reporting real-time statistics.
static java.lang.String PROPERTY_SLAMD_ADDRESS
          The name of the configuration property that specifies the address of the SLAMD server.
static java.lang.String PROPERTY_SLAMD_MONITOR_PORT
          The name of the configuration property that specifies the resource monitor client port for the SLAMD server.
static java.lang.String PROPERTY_SLAMD_STAT_PORT
          The name of the configuration property that specifies the stat port for the SLAMD server.
static java.lang.String PROPERTY_TRUST_PASS
          The name of the configuration property that specifies the password for the SSL trust store.
static java.lang.String PROPERTY_TRUST_STORE
          The name of the configuration property that specifies the path to the SSL trust store.
static java.lang.String PROPERTY_USE_SSL
          The name of the configuration property that specifies whether to use SSL.
static java.lang.String PROPERTY_VERBOSE
          The name of the configuration property that specifies whether to enable verbose mode.
static int SERVER_DOWN_RECONNECT_TIME
          The length of time that the monitor client should sleep between attempts to reconnect to the SLAMD server if it is supposed to automatically reconnect.
 
Constructor Summary
CommandLineResourceMonitorClient(java.lang.String[] args)
          Parses the command line parameters and connects to the SLAMD server to accept and process resource monitor requests.
 
Method Summary
 void displayUsage()
          Displays usage information for this program.
static void main(java.lang.String[] args)
          Passes off all the work to the constructor so that we can pass in a reference to this class to the client.
 void processConfigFile(java.lang.String configFile)
          Processes the contents of the specified config file.
 boolean usingVerboseMode()
          Indicates whether the message writer is using verbose mode and therefore will display messages written with the writeVerbose method.
 void writeMessage(java.lang.String message)
          Writes the specified message to standard output.
 void writeVerbose(java.lang.String message)
          Writes the specified message to standard output if verbose mode is enabled.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_SLAMD_ADDRESS

public static final java.lang.String PROPERTY_SLAMD_ADDRESS
The name of the configuration property that specifies the address of the SLAMD server.

See Also:
Constant Field Values

PROPERTY_SLAMD_MONITOR_PORT

public static final java.lang.String PROPERTY_SLAMD_MONITOR_PORT
The name of the configuration property that specifies the resource monitor client port for the SLAMD server.

See Also:
Constant Field Values

PROPERTY_SLAMD_STAT_PORT

public static final java.lang.String PROPERTY_SLAMD_STAT_PORT
The name of the configuration property that specifies the stat port for the SLAMD server.

See Also:
Constant Field Values

PROPERTY_ENABLE_RT

public static final java.lang.String PROPERTY_ENABLE_RT
The name of the configuration property that specifies whether to enable real-time statistics tracking.

See Also:
Constant Field Values

PROPERTY_RT_INTERVAL

public static final java.lang.String PROPERTY_RT_INTERVAL
The name of the configuration property that specifies the interval for reporting real-time statistics.

See Also:
Constant Field Values

PROPERTY_AUTO_RECONNECT

public static final java.lang.String PROPERTY_AUTO_RECONNECT
The name of the configuration property that indicates whether to automatically reconnect to the server if the connection is lost.

See Also:
Constant Field Values

PROPERTY_AUTH_ID

public static final java.lang.String PROPERTY_AUTH_ID
The name of the configuration property that specifies the authentication ID.

See Also:
Constant Field Values

PROPERTY_AUTH_PW

public static final java.lang.String PROPERTY_AUTH_PW
The name of the configuration property that specifies the authentication password.

See Also:
Constant Field Values

PROPERTY_USE_SSL

public static final java.lang.String PROPERTY_USE_SSL
The name of the configuration property that specifies whether to use SSL.

See Also:
Constant Field Values

PROPERTY_BLIND_TRUST

public static final java.lang.String PROPERTY_BLIND_TRUST
The name of the configuration property that specifies whether to blindly trust any certificate.

See Also:
Constant Field Values

PROPERTY_KEY_STORE

public static final java.lang.String PROPERTY_KEY_STORE
The name of the configuration property that specifies the path to the SSL keystore.

See Also:
Constant Field Values

PROPERTY_KEY_PASS

public static final java.lang.String PROPERTY_KEY_PASS
The name of the configuration property that specifies the password for the SSL keystore.

See Also:
Constant Field Values

PROPERTY_TRUST_STORE

public static final java.lang.String PROPERTY_TRUST_STORE
The name of the configuration property that specifies the path to the SSL trust store.

See Also:
Constant Field Values

PROPERTY_TRUST_PASS

public static final java.lang.String PROPERTY_TRUST_PASS
The name of the configuration property that specifies the password for the SSL trust store.

See Also:
Constant Field Values

PROPERTY_VERBOSE

public static final java.lang.String PROPERTY_VERBOSE
The name of the configuration property that specifies whether to enable verbose mode.

See Also:
Constant Field Values

SERVER_DOWN_RECONNECT_TIME

public static final int SERVER_DOWN_RECONNECT_TIME
The length of time that the monitor client should sleep between attempts to reconnect to the SLAMD server if it is supposed to automatically reconnect.

See Also:
Constant Field Values
Constructor Detail

CommandLineResourceMonitorClient

public CommandLineResourceMonitorClient(java.lang.String[] args)
Parses the command line parameters and connects to the SLAMD server to accept and process resource monitor requests.

Parameters:
args - The command-line arguments provided to this application.
Method Detail

main

public static void main(java.lang.String[] args)
Passes off all the work to the constructor so that we can pass in a reference to this class to the client.

Parameters:
args - The command-line arguments provided to this application.

processConfigFile

public void processConfigFile(java.lang.String configFile)
Processes the contents of the specified config file.

Parameters:
configFile - The path to the configuration file to process.

displayUsage

public void displayUsage()
Displays usage information for this program.


writeMessage

public void writeMessage(java.lang.String message)
Writes the specified message to standard output.

Specified by:
writeMessage in interface ClientMessageWriter
Parameters:
message - The message to be written.

writeVerbose

public void writeVerbose(java.lang.String message)
Writes the specified message to standard output if verbose mode is enabled.

Specified by:
writeVerbose in interface ClientMessageWriter
Parameters:
message - The message to be written.

usingVerboseMode

public boolean usingVerboseMode()
Indicates whether the message writer is using verbose mode and therefore will display messages written with the writeVerbose method.

Specified by:
usingVerboseMode in interface ClientMessageWriter
Returns:
true if the message writer is using verbose mode, or false if not.