|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.ourgrid.common.rmi.OurgridUnicastRemoteObject
org.ourgrid.gridmachine.useragent.UserAgentServerImpl
public class UserAgentServerImpl
Nested Class Summary | |
---|---|
protected class |
UserAgentServerImpl.UAShutdownThread
|
Field Summary | |
---|---|
protected Executor |
executor
The executor object that provides platform-dependent features. |
static long |
serialVersionUID
Serial identification of the class. |
static int |
TIME_TO_WAIT
This is the time that the machine have to be idle to start the UA. |
protected static java.lang.String |
XMLLogFile
String representing the XML log file absolute path. |
Fields inherited from class java.rmi.server.RemoteObject |
---|
ref |
Constructor Summary | |
---|---|
UserAgentServerImpl()
Construct a default UserAgent. |
|
UserAgentServerImpl(int port,
MGSecureClientSocketFactory clientFactory,
MGSecureServerSocketFactory serverFactory)
Construct a Secure User Agent remote object. |
Method Summary | |
---|---|
void |
changeFilePermissions(java.io.File file,
int permissions)
Change the permissions of a file located at the Grid Machine. |
java.lang.String |
createPlaypen(int size)
Creates a playpen in the Grid Machine. |
java.lang.String |
createStorageDirectory()
Creates the storage directory. |
protected void |
destroyPlaypen(java.lang.String playpenPath)
|
boolean |
fileExists(java.io.File file)
Check if the file denoted by file abstraction exists |
byte[] |
getFile(java.lang.String filePath,
long filePos,
int size)
Get an array of bytes FROM a file that is located at the Grid Machine. |
GumID |
getID()
|
java.lang.String |
getRemoteFileDigest(java.io.File remoteFile)
Used to return the digest representation of a file. |
long |
getRemoteFileLastModification(java.io.File remoteFile,
boolean normalized)
Gets the time when the last modification in the specified file has occurred. |
long |
getRemoteFileLength(java.io.File remoteFile)
Determines the remote file size in bytes. |
ExecutorResult |
getResult(ExecutorHandle handle)
Gives access to the result of execution. |
GumStatus |
getStatus()
Gets the status of the grid machine. |
java.lang.String |
getStorageDirectory()
Returns the remote storage directory. |
protected void |
kill(ExecutorHandle handle)
|
protected void |
pause()
Called when the machine is detected do be NOT idle. |
void |
putFile(java.lang.String remoteFile,
byte[] data,
boolean firstSlice)
Put an array of bytes INTO the file specified by removeFile
at the Grid Machine. |
ExecutorHandle |
remoteExecute(java.lang.String remoteDir,
java.lang.String command,
java.util.Map<java.lang.String,java.lang.String> envVars)
Executes a remote task command in a specific directory on the grid machine. |
protected void |
restart()
Called when the machine is detected do be idle. |
protected void |
setState(GumStatus state)
|
void |
startReplica()
Prepare a job to be executed. |
void |
stopReplica()
Stops a job execution. |
Methods inherited from class java.rmi.server.UnicastRemoteObject |
---|
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
---|
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
---|
equals, getRef, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final long serialVersionUID
public static final int TIME_TO_WAIT
protected static java.lang.String XMLLogFile
protected Executor executor
Constructor Detail |
---|
public UserAgentServerImpl() throws java.rmi.RemoteException
java.rmi.RemoteException
- If some problem during the creation of the
RemoteObject occurs.public UserAgentServerImpl(int port, MGSecureClientSocketFactory clientFactory, MGSecureServerSocketFactory serverFactory) throws java.rmi.RemoteException
port
- The number of the port where the remote object must be
listening to. The port number must be greater than 1024.clientFactory
- A factory for client sockets that provide secure
client sockets over SSL.serverFactory
- A factory for server sockets that provide secure
server sockets over SSL.
java.rmi.RemoteException
- If some problem during the creation of the
RemoteObject occurs.Method Detail |
---|
public long getRemoteFileLength(java.io.File remoteFile) throws java.rmi.RemoteException, java.io.IOException
Gum
getRemoteFileLength
in interface Gum
remoteFile
- The file located at the Grid Machine which the size
must be determined.
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation
java.io.IOException
- If some problem occurs during the access to the file.Gum.getRemoteFileLength(java.io.File)
public long getRemoteFileLastModification(java.io.File remoteFile, boolean normalized) throws java.rmi.RemoteException, java.io.IOException
Gum
getRemoteFileLastModification
in interface Gum
remoteFile
- The file located at the Grid Machine which the
modification time will be determined.normalized
- Indicates if the last modification time must be
normalized to the TIMEZONE-0.
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation
java.io.IOException
- if during the access to the file some problem occurs.Gum.getRemoteFileLastModification(java.io.File,
boolean)
public java.lang.String getRemoteFileDigest(java.io.File remoteFile) throws java.rmi.RemoteException, UnableToDigestFileException
Gum
getRemoteFileDigest
in interface Gum
remoteFile
- if the file used to generate the digest
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation
UnableToDigestFileException
- if there is any problem on the digest
generation, like the file is not found, I/O errors or the digest
algorithm is not valid.Gum.getRemoteFileDigest(java.io.File)
public void putFile(java.lang.String remoteFile, byte[] data, boolean firstSlice) throws java.rmi.RemoteException, java.io.IOException
Gum
removeFile
at the Grid Machine.
putFile
in interface Gum
remoteFile
- the name of file that where the array of bytes will be
appendeddata
- an array of bytes that must be appended to the file.firstSlice
- Indicates if the array of bytes is the first slice of
the file or not. If true and remoteFile exists,
the file will be overwritten. Otherwise, the array of bytes will
just be appended to the file.
java.rmi.RemoteException
- if some RMI error occurs during the putFile()
method invocation.
java.io.IOException
- if some error occurs during the writing process.Gum.putFile(java.lang.String, byte[],
boolean)
public byte[] getFile(java.lang.String filePath, long filePos, int size) throws java.rmi.RemoteException, java.io.IOException
Gum
getFile
in interface Gum
filePath
- the path where the file is located.filePos
- the position into the file from the array will be read.size
- the size of array of bytes that must be read.
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation
java.io.IOException
- if some error occurs during the reading process.Gum.getFile(java.lang.String, long, int)
public java.lang.String createPlaypen(int size) throws java.rmi.RemoteException, UnableToCreatePlaypenException
Gum
createPlaypen
in interface Gum
size
- The number of bytes that must be reserved to the playpen.
java.rmi.RemoteException
- If some RMI error occurs during this method
invocation.
UnableToCreatePlaypenException
- if the playpen could not be
created. This will be usually due to I/O issues, like user space
quota exceededGum.createPlaypen(int)
public java.lang.String createStorageDirectory() throws java.rmi.RemoteException
Gum
createStorageDirectory
in interface Gum
java.rmi.RemoteException
- if some RMI error occurs during this method
invocation.Gum.createStorageDirectory()
public java.lang.String getStorageDirectory() throws java.rmi.RemoteException
Gum
getStorageDirectory
in interface Gum
java.rmi.RemoteException
Gum.getStorageDirectory()
protected void destroyPlaypen(java.lang.String playpenPath) throws java.io.IOException
java.io.IOException
public boolean fileExists(java.io.File file) throws java.rmi.RemoteException
fileExists
in interface Gum
file
- The file to have the existence checked
true
if the file exists and false
otherwise
java.rmi.RemoteException
- if any communication problem occurspublic void changeFilePermissions(java.io.File file, int permissions) throws java.rmi.RemoteException, java.io.IOException
Gum
changeFilePermissions
in interface Gum
file
- the file which permissions will be changed.permissions
- a string specifying the permissions. The string must
be composed of three numbers, like in the UNIX-like systems. For
instance, "rwxrwx---" must be represented by "770".
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation
java.io.IOException
- if some error occurs while trying to read or write
current permission of file.Gum.changeFilePermissions(File, int)
protected void kill(ExecutorHandle handle) throws ExecutorException
ExecutorException
public ExecutorHandle remoteExecute(java.lang.String remoteDir, java.lang.String command, java.util.Map<java.lang.String,java.lang.String> envVars) throws java.rmi.RemoteException, ExecutorException
Gum
remoteExecute
in interface Gum
remoteDir
- directory where the command will be executed. For
example, in a Unix environment, a cd
to this
directory will be done before running the specified command.command
- the command that will be executed in the specified
directory.envVars
- a Map
containing a set of
environment variable names as the keys and the corresponding
values as the values set. All these variables will be set before
the execution of the command. The keys and values of Map should be
String or, at least, override the Object#toString
method.
Executor
class.
java.rmi.RemoteException
- if some RMI error occurs during the method
invocation.
ExecutorException
- if some error occurs during the remote
execution of the commandGum.remoteExecute(String, String, Map)
public ExecutorResult getResult(ExecutorHandle handle) throws java.rmi.RemoteException, ExecutorException
Gum
getResult
in interface Gum
handle
- a handle that identifies the execution of interest
java.rmi.RemoteException
ExecutorException
Gum.getResult(ExecutorHandle)
public GumID getID()
public GumStatus getStatus()
Gum
getStatus
in interface Gum
Gum.getStatus()
protected void setState(GumStatus state)
protected void pause() throws UserAgentPauseException
UserAgentPauseException
- If any problem happens at the kill
handles time.protected void restart()
public void startReplica() throws java.rmi.RemoteException
startReplica
in interface Gum
java.rmi.RemoteException
- if some RMI error occurs during this method
invocation.Gum.startReplica()
public void stopReplica() throws java.rmi.RemoteException
stopReplica
in interface Gum
java.rmi.RemoteException
- If some RMI error occurs during this method
invocation.Gum.stopReplica()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |