de.bsvrz.ars.ars.mgmt.tasks
Class BackupTask

java.lang.Object
  extended by java.lang.Thread
      extended by de.bsvrz.ars.ars.mgmt.tasks.Task
          extended by de.bsvrz.ars.ars.mgmt.tasks.SingleTask
              extended by de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
                  extended by de.bsvrz.ars.ars.mgmt.tasks.BackupTask
All Implemented Interfaces:
SuspendableTask, java.lang.Runnable

public class BackupTask
extends SingleClientSenderTask

Task zur Durchführung eines Sicherungslaufs.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:57 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Alexander Schmidt

Nested Class Summary
static class BackupTask.BackupResultData
          Diese Klasse sieht aus wie ein ResultData, wird aber nur intern verwendet, um einen über den Scheduler angestoßenen Sicherungslauf von einem extern angestoßenen zu unterscheieden
protected static class BackupTask.KeyValuePair
          Klasse, die ein Schluessel-Wert-Paar darstellt.
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
protected  java.util.List<BackupTask.KeyValuePair> containerList
          Liste, in der die Dateinamen und Positionen im IndexFile gehalten werden
protected  java.io.RandomAccessFile indexFile
          Datei, in der alle Indexdaten (unabhängig von der Aufteilung auf Medien) temporär abgelegt werden
static java.lang.String INDEXFILENAME
          Name der Datei, in der alle Indexdaten des momentanen Mediums temporär abgelegt werden
 
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
atgQuery, ddResponse, deserializer, queryAppObj, queryIdx, SENDCONTROL_TIMEOUT, serializerVersion, syncObj
 
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, persMgr, ringOfDeathListener, taskStepListeners
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
BackupTask(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData)
          Constructor
 
Method Summary
 int estimIndexSize(int countSavedContainers)
           
static BackupModul getBackupModul()
           
static BackupTask.BackupResultData getBackupResultData()
           
static int getLastUsedMediumID()
           
 void runBackup()
          Startet den Sicherungslauf
static void setBackupModul(java.lang.String propertiesFile)
           
static void setLastUsedMediumID(int mediumID)
           
protected  void work(ResultData resultData)
          Diese Methode ist zu ueberschreiben, um die konkrete Aufgabe der Task zu implementieren.
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
dataRequest, getObjectsFromDAV, init, isRequestSupported, parseArchiveDataSpec, sendErrorResponse, sendSuccessResponse, subscribeSender, unsubscribeSender
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleTask
run
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

INDEXFILENAME

public static final java.lang.String INDEXFILENAME
Name der Datei, in der alle Indexdaten des momentanen Mediums temporär abgelegt werden


indexFile

protected java.io.RandomAccessFile indexFile
Datei, in der alle Indexdaten (unabhängig von der Aufteilung auf Medien) temporär abgelegt werden


containerList

protected java.util.List<BackupTask.KeyValuePair> containerList
Liste, in der die Dateinamen und Positionen im IndexFile gehalten werden

Constructor Detail

BackupTask

public BackupTask(ArchiveManager archiveMgr,
                  RingOfDeathListener rodl,
                  RingBuffer<ResultData> inputData)
Constructor

Method Detail

work

protected void work(ResultData resultData)
Description copied from class: SingleTask
Diese Methode ist zu ueberschreiben, um die konkrete Aufgabe der Task zu implementieren. In der Methode soll keine weitere Warteschlangen-Synchronisation stattfinden.

Specified by:
work in class SingleTask
Parameters:
resultData - Zu verarbeitender Datensatz aus der Eingangswarteschlange

runBackup

public void runBackup()
               throws java.lang.IllegalStateException,
                      java.lang.Exception
Startet den Sicherungslauf

Throws:
java.lang.IllegalStateException - Wird geworfen, wenn kein Sicherungsmodul ausgewählt wurde.
java.lang.Exception - Fehler

estimIndexSize

public int estimIndexSize(int countSavedContainers)

setBackupModul

public static void setBackupModul(java.lang.String propertiesFile)
                           throws java.lang.Exception
Throws:
java.lang.Exception

getBackupModul

public static BackupModul getBackupModul()

getLastUsedMediumID

public static int getLastUsedMediumID()

setLastUsedMediumID

public static void setLastUsedMediumID(int mediumID)

getBackupResultData

public static BackupTask.BackupResultData getBackupResultData()


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.