|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.lang.Thread
com.sun.slamd.job.JobClass
com.sun.slamd.example.ISAuthRateJobClass
public class ISAuthRateJobClass
This class implements a SLAMD job class for performing repeated Authentication requests against an Identity server. All of the configuration for this job class can be provided through parameters.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class java.lang.Thread |
|---|
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler |
| Field Summary | |
|---|---|
static int |
BUFFER_SIZE
The size of the buffer that will be used to read the response from the HTTP server. |
static java.lang.String |
CLOSE
The string to use to indicate that the connection should be closed. |
static java.lang.String |
CONNECTION
The name of the connection header. |
static byte[] |
CONNECTION_BYTES
The byte array containing the byte representation of "connection". |
static java.lang.String |
CONTENT_LENGTH
The name of the content length header. |
static byte[] |
CONTENT_LENGTH_BYTES
The byte array containing the byte representation of "content-length". |
static java.lang.String |
CONTENT_TYPE
The content type header to include in requests to the server. |
static java.lang.String |
DEFAULT_HTTP_HOST
The address that will be used if none is specified in the URL. |
static int |
DEFAULT_HTTP_PORT
The port number that will be used if none is specified in the URL and SSL is not to be used. |
static int |
DEFAULT_HTTPS_PORT
The port number that will be used if none is specified in the URL and SSL is to be used. |
static java.lang.String |
EOL
The end-of-line marker to be used in all requests as dictated by RFC 2068. |
static java.lang.String |
FAILED_AUTH
The display name for the failed authentications stat tracker. |
static java.lang.String |
HOST
The name of the host header. |
static java.lang.String |
KEEP_ALIVE
The string to use to indicate that the connection should remain active if possible. |
static byte[] |
KEEP_ALIVE_BYTES
The byte array containing the byte representation of "keep-alive". |
static java.lang.String |
POST
The name of the port header. |
static java.lang.String |
PROTOCOL_VERSION_1_0
The string that indicates that HTTP 1.0 is to be used for the GETs. |
static java.lang.String |
PROTOCOL_VERSION_1_1
The string that indicates that HTTP 1.1 is to be used for the GETs. |
static java.lang.String[] |
PROTOCOL_VERSION_STRINGS
The values that may be specified for the protocol version. |
static int |
RESPONSE_EXPECTATION_FAILED
The HTTP response that will be used if the client cannot parse the response from the server. |
static java.lang.String |
SPACE
The space character. |
static java.lang.String |
SSL_KEY_PASSWORD_PROPERTY
The system property used to specify the password for the JSSE key store. |
static java.lang.String |
SSL_KEY_STORE_PROPERTY
The system property used to specify the location of the JSSE key store. |
static java.lang.String |
SSL_TRUST_PASSWORD_PROPERTY
The system property used to specify the password for the JSSE trust store. |
static java.lang.String |
SSL_TRUST_STORE_PROPERTY
The system property used to specify the location of the JSSE trust store. |
static java.lang.String |
STAT_TRACKER_AUTHN_ATTEMPTS
The display name for the stat tracker that will be used to track the number of successful GETs. |
static java.lang.String |
STAT_TRACKER_AUTHN_RESULTS
The display name for the stat tracker that will be used to track the response codes for the pages retrieved. |
static java.lang.String |
STAT_TRACKER_AUTHN_TIME
The display name for the stat tracker that will be used to track the time required to perform each GET. |
static java.lang.String |
STAT_TRACKER_EXCEPTIONS_CAUGHT
The display name for the stat tracker that will be used to track the number of exceptions caught. |
static java.lang.String |
SUCCESSFUL_AUTH
The display name for the successful authentications stat tracker. |
static java.lang.String |
X_AUTHERRORCODE
The name of the X-AUTHERRORCODE header. |
static byte[] |
X_AUTHERRORCODE_BYTES
The byte representation of the X-AUTHERRORCODE header name. |
| Fields inherited from class java.lang.Thread |
|---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
| Constructor Summary | |
|---|---|
ISAuthRateJobClass()
Creates a new instance of this job class. |
|
| Method Summary | |
|---|---|
int |
authenticate()
Issues the request to the HTTP server and reads the response. |
void |
destroy()
Attempts to force this thread to exit by closing the connection to the directory server and setting it to null. |
ParameterList |
getClientSideParameterStubs()
Retrieves a list of parameter "stubs" that specify all the parameters that should be available to clients. |
java.lang.String |
getJobCategoryName()
Retrieves the name of the category in which this job class exists. |
java.lang.String |
getJobDescription()
Retrieves a description of the job performed by this job thread. |
java.lang.String |
getJobName()
Retrieves the name of the job performed by this job thread. |
java.lang.String[] |
getLoginInfo()
Retrieves an array containing the login ID and password that should be used to authenticate to the directory. |
ParameterList |
getParameterStubs()
Retrieve a parameter list that can be used to determine all of the customizeable options that are available for this job. |
byte[] |
getRequest()
Retrieves the request to send to the server. |
StatTracker[] |
getStatTrackers()
Retrieves the stat trackers that are maintained for this job thread. |
StatTracker[] |
getStatTrackerStubs(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval)
Retrieves the set of stat trackers that will be maintained by this job class. |
void |
initializeClient(java.lang.String clientID,
ParameterList parameters)
Performs client-level initialization for this job, including retrieving the values of all the parameters and reading the filter file (if one has been specified). |
void |
initializeThread(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval,
ParameterList parameters)
Initializes this job thread to be used to actually run the job on the client. |
void |
runJob()
Perform the work of this job thread by establishing the connection(s) to the directory server and issuing all the appropriate queries. |
boolean |
startsWithIgnoreCase(byte[] bytesToMatch,
int lineStartPos,
int lineEndPos)
Compares the contents of the provided byte array with the contents of the specified portion of the buffer read from the input string. |
void |
validateJobInfo(int numClients,
int threadsPerClient,
int threadStartupDelay,
java.util.Date startTime,
java.util.Date stopTime,
int duration,
int collectionInterval,
ParameterList parameters)
Provides a means of validating the information used to schedule the job, including the scheduling information and list of parameters. |
| Methods inherited from class java.lang.Thread |
|---|
activeCount, checkAccess, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String CONTENT_TYPE
public static final java.lang.String CONTENT_LENGTH
public static final java.lang.String KEEP_ALIVE
public static final java.lang.String CLOSE
public static final java.lang.String CONNECTION
public static final java.lang.String HOST
public static final java.lang.String POST
public static final java.lang.String SPACE
public static final java.lang.String X_AUTHERRORCODE
public static final byte[] X_AUTHERRORCODE_BYTES
public static final java.lang.String SUCCESSFUL_AUTH
public static final java.lang.String FAILED_AUTH
public static final java.lang.String SSL_KEY_STORE_PROPERTY
public static final java.lang.String SSL_KEY_PASSWORD_PROPERTY
public static final java.lang.String SSL_TRUST_STORE_PROPERTY
public static final java.lang.String SSL_TRUST_PASSWORD_PROPERTY
public static final int DEFAULT_HTTP_PORT
public static final int DEFAULT_HTTPS_PORT
public static final java.lang.String DEFAULT_HTTP_HOST
public static final int BUFFER_SIZE
public static final java.lang.String EOL
public static final byte[] CONNECTION_BYTES
public static final byte[] CONTENT_LENGTH_BYTES
public static final byte[] KEEP_ALIVE_BYTES
public static final int RESPONSE_EXPECTATION_FAILED
public static final java.lang.String PROTOCOL_VERSION_1_0
public static final java.lang.String PROTOCOL_VERSION_1_1
public static final java.lang.String[] PROTOCOL_VERSION_STRINGS
public static final java.lang.String STAT_TRACKER_AUTHN_TIME
public static final java.lang.String STAT_TRACKER_AUTHN_ATTEMPTS
public static final java.lang.String STAT_TRACKER_EXCEPTIONS_CAUGHT
public static final java.lang.String STAT_TRACKER_AUTHN_RESULTS
| Constructor Detail |
|---|
public ISAuthRateJobClass()
| Method Detail |
|---|
public java.lang.String getJobName()
getJobName in class JobClasspublic java.lang.String getJobDescription()
getJobDescription in class JobClasspublic java.lang.String getJobCategoryName()
getJobCategoryName in class JobClasspublic ParameterList getParameterStubs()
getParameterStubs in class JobClasspublic ParameterList getClientSideParameterStubs()
getClientSideParameterStubs in class JobClass
public StatTracker[] getStatTrackerStubs(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval)
getStatTrackerStubs in class JobClassclientID - The client ID that should be used for the
returned stat trackers.threadID - The thread ID that should be used for the
returned stat trackers.collectionInterval - The collection interval that should be used
for the returned stat trackers.
public StatTracker[] getStatTrackers()
getStatTrackers in class JobClass
public void validateJobInfo(int numClients,
int threadsPerClient,
int threadStartupDelay,
java.util.Date startTime,
java.util.Date stopTime,
int duration,
int collectionInterval,
ParameterList parameters)
throws InvalidValueException
validateJobInfo in class JobClassnumClients - The number of clients that should be used to
run the job.threadsPerClient - The number of threads that should be created
on each client to run the job.threadStartupDelay - The delay in milliseconds that should be used
when starting the client threads.startTime - The time that the job should start running.stopTime - The time that the job should stop running.duration - The maximum length of time in seconds that
the job should be allowed to run.collectionInterval - The collection interval that should be used
when gathering statistics for the job.parameters - The set of parameters provided to this job
that can be used to customize its behavior.
InvalidValueException - If the provided information is not
appropriate for running this job.
public void initializeClient(java.lang.String clientID,
ParameterList parameters)
throws UnableToRunException
initializeClient in class JobClassclientID - The ID assigned to the client that will be running
the job.parameters - The list of parameters defined for this job.
UnableToRunException - If the initialization fails for some
reason.
public void initializeThread(java.lang.String clientID,
java.lang.String threadID,
int collectionInterval,
ParameterList parameters)
throws UnableToRunException
initializeThread in class JobClassclientID - The client ID for this job thread.threadID - The thread ID for this job thread.collectionInterval - The length of time in seconds to use as the
statistics collection interval.parameters - The set of parameters provided to this job
that can be used to customize its behavior.
UnableToRunException - If a problem occurs during initialization.public void runJob()
runJob in class JobClasspublic void destroy()
null.
destroy in class JobClass
public int authenticate()
throws java.io.IOException
java.io.IOException - If an I/O problem occurred while reading from or
writing to the server.
public boolean startsWithIgnoreCase(byte[] bytesToMatch,
int lineStartPos,
int lineEndPos)
bytesToMatch - The byte array containing the bytes to compare
against the contents of the input buffer. This
byte array should contain an encoded string whose
characters are all uppercase.lineStartPos - The position in the input buffer at which the line
starts.lineEndPos - The position in the input buffer at which the line
ends.
true if the specified portion of the buffer starts
with the contents of the given byte array (ignoring case), or
false if not.public java.lang.String[] getLoginInfo()
public byte[] getRequest()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||