Class CommandLineClient

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

public class CommandLineClient
extends java.lang.Object
implements ClientMessageWriter

This class defines a command-line (non-GUI) application that may serve as a client of the SLAMD server. All of the configuration is done through command-line options. This is a good client to run as a background process.

Author:
Neil A. Wilson

Field Summary
static java.lang.String PROPERTY_AGGREGATE
          The name of the configuration property that specifies whether to aggregate client thread data.
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_BLIND_TRUST
          The name of the configuration property that specifies whether to blindly trust any certificate.
static java.lang.String PROPERTY_DISABLE_CL
          The name of the configuration property that specifies whether to disable the custom class loader.
static java.lang.String PROPERTY_ENABLE_PERSISTENCE
          The name of the configuration property that specifies whether to enable stat persistence.
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_LOG_FILE
          The name of the configuration property that specifies the path to the log file.
static java.lang.String PROPERTY_PERSISTENCE_DIR
          The name of the configuration property that specifies the directory for stat persistence data.
static java.lang.String PROPERTY_PERSISTENCE_INTERVAL
          The name of the configuration property that specifies the stat persistence interval.
static java.lang.String PROPERTY_QUIET
          The name of the configuration property that specifies whether to enable quiet mode.
static java.lang.String PROPERTY_RESTRICTED_MODE
          The name of the configuration property that specifies whether to operate in restricted mode.
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_PORT
          The name of the configuration property that specifies the 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.
 
Constructor Summary
CommandLineClient(java.lang.String[] args)
          Parses the command line parameters and connects to the SLAMD server to accept and process job 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_PORT

public static final java.lang.String PROPERTY_SLAMD_PORT
The name of the configuration property that specifies the 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_ENABLE_PERSISTENCE

public static final java.lang.String PROPERTY_ENABLE_PERSISTENCE
The name of the configuration property that specifies whether to enable stat persistence.

See Also:
Constant Field Values

PROPERTY_PERSISTENCE_DIR

public static final java.lang.String PROPERTY_PERSISTENCE_DIR
The name of the configuration property that specifies the directory for stat persistence data.

See Also:
Constant Field Values

PROPERTY_PERSISTENCE_INTERVAL

public static final java.lang.String PROPERTY_PERSISTENCE_INTERVAL
The name of the configuration property that specifies the stat persistence interval.

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_AGGREGATE

public static final java.lang.String PROPERTY_AGGREGATE
The name of the configuration property that specifies whether to aggregate client thread data.

See Also:
Constant Field Values

PROPERTY_RESTRICTED_MODE

public static final java.lang.String PROPERTY_RESTRICTED_MODE
The name of the configuration property that specifies whether to operate in restricted mode.

See Also:
Constant Field Values

PROPERTY_DISABLE_CL

public static final java.lang.String PROPERTY_DISABLE_CL
The name of the configuration property that specifies whether to disable the custom class loader.

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

PROPERTY_QUIET

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

See Also:
Constant Field Values

PROPERTY_LOG_FILE

public static final java.lang.String PROPERTY_LOG_FILE
The name of the configuration property that specifies the path to the log file.

See Also:
Constant Field Values
Constructor Detail

CommandLineClient

public CommandLineClient(java.lang.String[] args)
Parses the command line parameters and connects to the SLAMD server to accept and process job 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.