Package org.globus.io.gass.server
Class GassServer
java.lang.Object
org.globus.net.BaseServer
org.globus.io.gass.server.GassServer
- All Implemented Interfaces:
Runnable
The
GassServer
class acts as a basic multi-threaded HTTPS
server that handles GASS requests.- Version:
- $Revision 1.21 $
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
private Hashtable
private static org.apache.commons.logging.Log
private int
static final int
static final String
static final int
static final int
static final int
Fields inherited from class org.globus.net.BaseServer
_server, accept, authorization, credentials, deactivator, gssMode, SO_TIMEOUT, timeout, url
-
Constructor Summary
ConstructorsConstructorDescriptionStarts Gass Server with default user credentials.GassServer
(boolean secure, int port) Starts Gass Server on given port and mode.GassServer
(int port) Starts Gass Server on given port with default user credentials.GassServer
(GSSCredential cred, int port) Starts Gass Server on given port and given credentials. -
Method Summary
Modifier and TypeMethodDescriptionprotected OutputStream
int
Returns current options of the server.protected void
handleConnection
(Socket socket) This method needs to be implemented by subclasses.private void
init()
void
registerJobOutputStream
(String lb, OutputStream out) Registers a output stream with a job.void
setOptions
(int options) Sets the options of the gass server such as enabling client shutdown, etc.static void
shutdown
(GSSCredential cred, GlobusURL gassURL) Shutdowns a remote gass server.toString()
void
Unregisters a job output stream for specified output label.void
unregisterJobOutputStream
(String lb, OutputStream out) Unregisters a job output stream.Methods inherited from class org.globus.net.BaseServer
getCredentials, getHost, getHostname, getPort, getProtocol, getTimeout, getURL, initialize, registerDefaultDeactivator, run, setAuthorization, setGssMode, setTimeout, shutdown, start, unregisterDefaultDeactivator, wrapSocket
-
Field Details
-
logger
private static org.apache.commons.logging.Log logger -
READ_ENABLE
public static final int READ_ENABLE- See Also:
-
WRITE_ENABLE
public static final int WRITE_ENABLE- See Also:
-
STDOUT_ENABLE
public static final int STDOUT_ENABLE- See Also:
-
STDERR_ENABLE
public static final int STDERR_ENABLE- See Also:
-
CLIENT_SHUTDOWN_ENABLE
public static final int CLIENT_SHUTDOWN_ENABLE- See Also:
-
SHUTDOWN_STR
- See Also:
-
jobOutputs
-
options
private int options
-
-
Constructor Details
-
GassServer
Starts Gass Server with default user credentials. Port of the server will be dynamically assigned- Throws:
IOException
-
GassServer
Starts Gass Server on given port with default user credentials.- Parameters:
port
- port of the server, if 0 it will be dynamically assigned- Throws:
IOException
-
GassServer
Starts Gass Server on given port and given credentials.- Parameters:
cred
- credentials to use. if null default user credentials will be usedport
- port of the server, if 0 it will be dynamically assigned- Throws:
IOException
-
GassServer
Starts Gass Server on given port and mode. If secure mode, it will use default user credentials- Parameters:
secure
- if true starts server in secure mode, otherwise unsecureport
- port of the server, if 0 it will be dynamically assigned- Throws:
IOException
-
-
Method Details
-
init
private void init() -
setOptions
public void setOptions(int options) Sets the options of the gass server such as enabling client shutdown, etc.- Parameters:
options
- server options
-
getOptions
public int getOptions()Returns current options of the server.- Returns:
- options of the server. O if not none set.
-
registerJobOutputStream
Registers a output stream with a job. This is used for job stdout/err redirection. The label of the job should be the ending of the job redirected url. For example, given following RSL (stdout=$(GASS_URL)/dev/stdout-5) the label to register the output stream with should be 'out-5'.- Parameters:
lb
- job label as described above.out
- the output stream to redirect output to.
-
unregisterJobOutputStream
Unregisters a job output stream for specified output label. See registerJobOutputStream() for more details.- Parameters:
lb
- job output label.
-
unregisterJobOutputStream
Unregisters a job output stream. This method is deprecated. -
getJobOutputStream
-
handleConnection
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 classBaseServer
-
toString
-
shutdown
Shutdowns a remote gass server. The server must have the CLIENT_SHUTDOWN option enabled for this to work.- Parameters:
cred
- credentials to use.gassURL
- the url of the remote gass server.- Throws:
IOException
GSSException
-