dk.netarkivet.archive.bitarchive.distribute
Class BatchMessage

java.lang.Object
  extended by dk.netarkivet.common.distribute.NetarkivetMessage
      extended by dk.netarkivet.archive.distribute.ArchiveMessage
          extended by dk.netarkivet.archive.bitarchive.distribute.BatchMessage
All Implemented Interfaces:
java.io.Serializable

public class BatchMessage
extends ArchiveMessage

Container for batch jobs. Messages of this class should be sent to a BAMON queue from where they are collected by a BitarchiveMonitorServer. The BitarchiveMonitorServer also creates instances of this class and sends them to the individual bitarchive machines. The response to this message comes in the form of a BatchReplyMessage placed on the senders queue.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class dk.netarkivet.common.distribute.NetarkivetMessage
replyOfId
 
Constructor Summary
BatchMessage(ChannelID to, ChannelID replyTo, FileBatchJob job, java.lang.String replicaId, java.lang.String... arguments)
          Creates a BatchMessage object which can be used to initiate a batch job.
BatchMessage(ChannelID to, ChannelID replyTo, FileBatchJob job, java.lang.String replicaId, java.lang.String batchId, java.lang.String... arguments)
          Creates a BatchMessage object which can be used to initiate a batch job.
BatchMessage(ChannelID to, FileBatchJob job, java.lang.String replicaId)
          Creates a BatchMessage object which can be used to initiate a batch job.
 
Method Summary
 void accept(ArchiveMessageVisitor v)
          Should be implemented as a part of the visitor pattern.
 java.util.List<java.lang.String> getArgs()
          Returns the arguments for the batchjob.
 java.lang.String getBatchID()
          Returns the predefined ID for the batch process.
 FileBatchJob getJob()
          Retrieves batch job.
 java.lang.String getReplicaId()
          Returns the replica id.
 java.lang.String toString()
          Retrieval of a string representation of this object.
 
Methods inherited from class dk.netarkivet.common.distribute.NetarkivetMessage
getErrMsg, getID, getReplyOfId, getReplyTo, getTo, hasBeenSent, isOk, setNotOk, setNotOk
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BatchMessage

public BatchMessage(ChannelID to,
                    FileBatchJob job,
                    java.lang.String replicaId)
Creates a BatchMessage object which can be used to initiate a batch job. This is used by BitarchiveMonitorServer to create the message sent to the bitarchive machines. Note: The id for the batchjob is the empty string, which removes the possibility of terminating the batchjob remotely while it is running.

Parameters:
to - The channel to which the batch message is to be sent
job - The batch job to be executed
replicaId - id of this replica.

BatchMessage

public BatchMessage(ChannelID to,
                    ChannelID replyTo,
                    FileBatchJob job,
                    java.lang.String replicaId,
                    java.lang.String... arguments)
Creates a BatchMessage object which can be used to initiate a batch job. Note: The id for the batchjob is the empty string, which removes the possibility of terminating the batchjob remotely while it is running.

Parameters:
to - The channel to which the batch message is to be sent
replyTo - The channel whereto the reply to this message is sent.
job - The batch job to be executed
replicaId - id of this replica.
arguments - The arguments for initialising the batchjob.
Throws:
ArgumentNotValid - If the job is null, or the replica is either null or the empty string.

BatchMessage

public BatchMessage(ChannelID to,
                    ChannelID replyTo,
                    FileBatchJob job,
                    java.lang.String replicaId,
                    java.lang.String batchId,
                    java.lang.String... arguments)
             throws ArgumentNotValid
Creates a BatchMessage object which can be used to initiate a batch job.

Parameters:
to - The channel to which the batch message is to be sent
replyTo - The channel whereto the reply to this message is sent.
job - The batch job to be executed
replicaId - id of this replica.
batchId - The id for the process which runs the batchjob.
arguments - The arguments for initialising the batchjob. This is allowed to be null.
Throws:
ArgumentNotValid - If the job is null, or the replica is either null or the empty string.
Method Detail

getJob

public FileBatchJob getJob()
Retrieves batch job.

Returns:
Batch job

getReplicaId

public java.lang.String getReplicaId()
Returns the replica id.

Returns:
the replica id

getArgs

public java.util.List<java.lang.String> getArgs()
Returns the arguments for the batchjob.

Returns:
The arguments for the batchjob.

getBatchID

public java.lang.String getBatchID()
Returns the predefined ID for the batch process. If no Id is available, then the message id is returned.

Returns:
The ID for the batch process, or the message id, if no specific batch id has been declared.

accept

public void accept(ArchiveMessageVisitor v)
Should be implemented as a part of the visitor pattern. fx.: public void accept(ArchiveMessageVisitor v) { v.visit(this); }

Specified by:
accept in class ArchiveMessage
Parameters:
v - A message visitor
See Also:
ArchiveMessageVisitor

toString

public java.lang.String toString()
Retrieval of a string representation of this object.

Overrides:
toString in class NetarkivetMessage
Returns:
A string representation of the instance of class.
See Also:
NetarkivetMessage.toString()