CallbackHandler (Java Globus API)

org.globus.gram
Class CallbackHandler

java.lang.Object
  |
  +--org.globus.net.BaseServer
        |
        +--org.globus.gram.CallbackHandler
All Implemented Interfaces:
java.lang.Runnable

public class CallbackHandler
extends BaseServer

The Server class acts as a basic multi-threaded HTTPS server.

Version:
$Revision: 1.24 $

Field Summary
 
Fields inherited from class org.globus.net.BaseServer
_server, accept, authorization, credentials, deactivator, SO_TIMEOUT
 
Constructor Summary
CallbackHandler()
          Construct a GRAM callback handler with default user credentials.
CallbackHandler(GlobusProxy proxy, int port)
          Construct a GRAM callback handler with specifed credentials and given port.
 
Method Summary
protected  GramJob getJob(java.lang.String url)
           
 int getRegisteredJobsSize()
          Returns number of registered jobs
protected  void handleConnection(java.net.Socket socket)
          This method needs to be implemented by subclasses.
 void registerJob(GramJob job)
          Registers gram job to listen for status updates
 void unregisterJob(GramJob job)
          Unregisters gram job from listening to status updates
 
Methods inherited from class org.globus.net.BaseServer
getCredentials, getHostname, getPort, getProtocol, getURL, initialize, registerDefaultDeactivator, run, setAuthorization, shutdown, start, unregisterDefaultDeactivator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CallbackHandler

public CallbackHandler()
                throws java.io.IOException,
                       GlobusProxyException
Construct a GRAM callback handler with default user credentials. Port will be dynamically assigned.


CallbackHandler

public CallbackHandler(GlobusProxy proxy,
                       int port)
                throws java.io.IOException,
                       GlobusProxyException
Construct a GRAM callback handler with specifed credentials and given port.

Parameters:
proxy - credentials to use. if null default user credentials will be used
port - server port to listen on. if set to 0 the port will be dynamically assigned
Method Detail

registerJob

public void registerJob(GramJob job)
Registers gram job to listen for status updates

Parameters:
job - gram job

unregisterJob

public void unregisterJob(GramJob job)
Unregisters gram job from listening to status updates

Parameters:
job - gram job

getJob

protected GramJob getJob(java.lang.String url)

getRegisteredJobsSize

public int getRegisteredJobsSize()
Returns number of registered jobs

Returns:
int number of jobs

handleConnection

protected void handleConnection(java.net.Socket socket)
Description copied from class: BaseServer
This method needs to be implemented by subclasses. Optimmaly, it should be a non-blocking call starting a separate thread to handle the client. Note that to start an SSL handshake, you need to call socket.getInput(Output) stream().

Specified by:
handleConnection in class BaseServer