Package org.globus.gram
Class GramJob
java.lang.Object
org.globus.gram.GramJob
- All Implemented Interfaces:
GRAMConstants
- Direct Known Subclasses:
GramJobRun
This class represents a simple gram job. It allows
for submitting a job to a gatekeeper, canceling it,
sending a signal command and registering and
unregistering from callback.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate GSSCredential
protected int
protected int
private GlobusURL
private Vector
private String
protected int
Fields inherited from interface org.globus.gram.internal.GRAMConstants
SIGNAL_CANCEL, SIGNAL_COMMIT_END, SIGNAL_COMMIT_EXTEND, SIGNAL_COMMIT_REQUEST, SIGNAL_PRIORITY, SIGNAL_RESUME, SIGNAL_STDIO_SIZE, SIGNAL_STDIO_UPDATE, SIGNAL_STOP_MANAGER, SIGNAL_SUSPEND, STATUS_ACTIVE, STATUS_ALL, STATUS_DONE, STATUS_FAILED, STATUS_PENDING, STATUS_STAGE_IN, STATUS_STAGE_OUT, STATUS_SUSPENDED, STATUS_UNSUBMITTED
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a gram job with specified rsl with default user credentials.GramJob
(GSSCredential cred, String rsl) Creates a gram job with specified rsl and user credentials. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(GramJobListener listener) Add a listener to the GramJob.void
bind()
Registers a callback listener for this job.void
cancel()
Cancels a job.Gets the credentials of this job.int
getError()
Gets the error of the job.int
Allows querying the job exit code.getID()
Gets the job handle of this job.Gets the job handle of this job and returns it as a string representaion.getRSL()
Gets the rsl of this job.int
Gets the current status of this job.Get the status of the GramJob.static String
getStatusAsString
(int status) Convert the status of a GramJob from an integer to a string.boolean
Can be used to determine whether the job exit code returned bygetExitCode()
is valid.void
removeListener
(GramJobListener listener) Remove a listener from the GramJob.void
renew
(GSSCredential newCred) Requests that the job's delegated credentials be renewed/refreshed.void
renew
(GSSCredential newCred, boolean limitedDelegation) Requests that the job's delegated credentials be renewed/refreshed.void
Submits a job to the specified gatekeeper as an interactive job.void
Submits a job to the specified gatekeeper either as an interactive or batch job.void
Submits a job to the specified gatekeeper either as an interactive or batch job.void
setCredentials
(GSSCredential credential) Sets credentials of the jobprotected void
setError
(int code) Sets the error code of the job.protected void
setExitCode
(int exitCode) Sets the job exit code.void
Sets the job handle.protected void
setStatus
(int status) Sets the status of the job.int
signal
(int signal) Sends a signal command to the job.int
Sends a signal command to the job.toString()
Returns string representation of this job.void
unbind()
Unregisters a callback listener for this job.
-
Field Details
-
credential
-
rsl
-
id
-
status
protected int status -
error
protected int error -
exitCode
protected int exitCode -
listeners
-
-
Constructor Details
-
GramJob
Creates a gram job with specified rsl with default user credentials.- Parameters:
rsl
- resource specification string
-
GramJob
Creates a gram job with specified rsl and user credentials.- Parameters:
cred
- user credentialsrsl
- resource specification string
-
-
Method Details
-
addListener
Add a listener to the GramJob. The listener will be notified whenever the status of the GramJob changes.- Parameters:
listener
- The object that wishes to receive status updates.- See Also:
-
removeListener
Remove a listener from the GramJob. The listener will no longer be notified of status changes for the GramJob.- Parameters:
listener
- The object that wishes to stop receiving status updates.- See Also:
-
getRSL
Gets the rsl of this job.- Returns:
- resource specification string
-
getCredentials
Gets the credentials of this job.- Returns:
- job credentials. If null none were set.
-
setCredentials
Sets credentials of the job- Parameters:
credential
- user credentials
-
setID
Sets the job handle. It is automatically set after the job successfuly has been successfuly started on a gatekeeper.- Parameters:
jobUrl
- job handle in form of url- Throws:
MalformedURLException
- if the job handle is invalid
-
getID
Gets the job handle of this job.- Returns:
- job handle
-
getIDAsString
Gets the job handle of this job and returns it as a string representaion.- Returns:
- job handle as string
-
getStatus
public int getStatus()Gets the current status of this job.- Returns:
- current job status
-
setStatus
protected void setStatus(int status) Sets the status of the job. User should not call this function.- Parameters:
status
- status of the job
-
setExitCode
protected void setExitCode(int exitCode) Sets the job exit code. This method is called internally and should not be used by client code.- Parameters:
exitCode
- the job exit code
-
getExitCode
public int getExitCode()Allows querying the job exit code. It only makes sense to retrieve the exit code after the job has completed. If the job has not completed, or if the service did not provide an exit code for this job, this method will return
0
andisExitCodeValid()
will returnfalse
.- Returns:
- the job exit code or
0
if the service did not provide one or the job has not completed.
-
isExitCodeValid
public boolean isExitCodeValid()Can be used to determine whether the job exit code returned by
getExitCode()
is valid.This method will return
false
if either of the following is true:- The job has not completed yet
- The service did not provide an exit code for the job
- Returns:
- a boolean value indicating whether the value
returned by
getExitCode()
represents the actual process exit code of this job.
-
request
Submits a job to the specified gatekeeper as an interactive job. Performs limited delegation.- Parameters:
contact
- the resource manager contact. The contact can be specified in number of ways for 1.1.3 gatekeepers:
host
host:port
host:port/service
host/service
host:/service
host::subject
host:port:subject
host/service:subject
host:/service:subject
host:port/service:subject
For 1.1.2 gatekeepers full contact string must be specifed.- Throws:
GramException
- if error occurs during job submission.GSSException
- if user credentials are invalid.
-
request
Submits a job to the specified gatekeeper either as an interactive or batch job. Performs limited delegation.- Parameters:
contact
- the resource manager contact.batch
- specifies if the job should be submitted as a batch job.- Throws:
GramException
- if error occurs during job submission.GSSException
- if user credentials are invalid.- See Also:
-
request
public void request(String contact, boolean batch, boolean limitedDelegation) throws GramException, GSSException Submits a job to the specified gatekeeper either as an interactive or batch job. It can perform limited or full delegation.- Parameters:
contact
- the resource manager contact.batch
- specifies if the job should be submitted as a batch job.limitedDelegation
- true for limited delegation, false for full delegation.- Throws:
GramException
- if error occurs during job submission.GSSException
- if user credentials are invalid.- See Also:
-
renew
Requests that the job's delegated credentials be renewed/refreshed. Uses limited delegation.- Parameters:
newCred
- The credentials to use in the delegation process- Throws:
GramException
- if a connection/comunication error occurs or if delegation failedGSSException
- if a GSSAPI error occurs
-
renew
public void renew(GSSCredential newCred, boolean limitedDelegation) throws GramException, GSSException Requests that the job's delegated credentials be renewed/refreshed.- Parameters:
newCred
- The credentials to use in the delegation processlimitedDelegation
- Whether to use limited or full delegated proxy- Throws:
GramException
- if a connection/comunication error occurs or if delegation failedGSSException
- if a GSSAPI error occurs
-
cancel
Cancels a job.- Throws:
GramException
- if error occurs during job cancelation.GSSException
- if user credentials are invalid.
-
bind
Registers a callback listener for this job. (Reconnects to the job)- Throws:
GramException
- if error occurs during job registration.GSSException
- if user credentials are invalid.
-
unbind
Unregisters a callback listener for this job. (Disconnects from the job)- Throws:
GramException
- if error occurs during job unregistration.GSSException
- if user credentials are invalid.
-
signal
Sends a signal command to the job.- Parameters:
signal
- signal typearg
- argument of signal- Throws:
GramException
- if error occurs during signalization.GSSException
- if user credentials are invalid.
-
signal
Sends a signal command to the job.- Parameters:
signal
- signal type- Throws:
GramException
- if error occurs during signalization.GSSException
- if user credentials are invalid.
-
setError
protected void setError(int code) Sets the error code of the job. Note: User should not use this method.- Parameters:
code
- error code
-
getError
public int getError()Gets the error of the job.- Returns:
- error number of the job.
-
toString
Returns string representation of this job. -
getStatusAsString
Get the status of the GramJob.- Returns:
- string representing the status of the GramJob. This String is useful for user-readable output.
-
getStatusAsString
Convert the status of a GramJob from an integer to a string. This method is not typically called by users.- Returns:
- string representing the status of the GramJob passed as an argument.
-