|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.SingleTask
de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
de.bsvrz.ars.ars.mgmt.tasks.LZVTask
public class LZVTask
Task zur Bearbeitung von Loeschzeit-Verlaengerungsauftraegen.
Nested Class Summary | |
---|---|
static class |
LZVTask.CapacityCheckResultData
|
private static class |
LZVTask.DELETE_LEVEL
Für spontantes Löschen: 1. |
static class |
LZVTask.DeleteRegularResultData
|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
private LongTermTaskStatePublisher.Task |
_longTermTaskStatePublisherTask
|
private static int |
CAPA_CHECK_RUNS
|
private static LZVTask.CapacityCheckResultData |
capacityCheckResultData
|
static long |
CHANGETIME_REGULAR
|
static long |
CHANGETIME_SPONTAN
|
private static LZVTask.DeleteRegularResultData |
deleteRegularResultData
|
private byte[] |
indexMem
|
private static int |
MAX_TIMESHIFTING
Um wieviele Monate maximal der Vorhaltezeitraum angepasst wird. |
private static long |
MIN_REM_DSK_CAPA
|
private int |
numOfDeletedCont
|
private int |
numOfVisitedCont
|
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 |
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface |
---|
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION |
Constructor Summary | |
---|---|
LZVTask(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData,
LongTermTaskStatePublisher longTermTaskStatePublisher)
Erzeugt eine neue Loeschzeit-Verlaengerungs-Task. |
Method Summary | |
---|---|
(package private) void |
changeDeletionTime(ResultData resultData)
Prüft, welche Operation (Löschen, spontanes Löschen oder die Löschzeitverlängerung) ausgeführt werden soll, und führt diese dann durch. |
(package private) void |
checkAndDeleteContainerRegular(Task task,
PersistenceManager persMgr)
Prueft, ob der Container existiert. Wenn ja, wird geprueft, ob der Container zu loeschen ist. |
(package private) void |
checkAndDeleteContainerSpontan(Task task,
PersistenceManager persMgr,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
Prueft, ob der Container existiert. Wenn ja, wird geprueft, ob der Container zu loeschen ist. |
(package private) void |
containerWalk(ArchiveDataSpecification[] ads,
long changeTime,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
Die generelle Container-Walk-Methode. |
private void |
containerWalkAllFromDir(long changeTime,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
|
private void |
containerWalkByArchiveDataSpec(ArchiveDataSpecification[] ads,
long changeTime,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
|
protected void |
deleteSpontan(ArchiveDataSpecification[] ads,
long changeTime)
Der DeleteSpontanTask löscht bei knapp werdendem Speicherplatz unwichtige Container. |
static LZVTask.CapacityCheckResultData |
getCapacityCheckResultData(ArchiveManager archMgr)
|
static LZVTask.DeleteRegularResultData |
getDeleteRegularResultData(ArchiveManager archMgr)
|
static long |
getMinRemainingDiskCapa()
Liefert die Mindest-Restkapazitaet der Festplatte. |
private void |
handleContainer(long changeTime,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
Bearbeitet den individuellen Container. |
(package private) boolean |
hasToBeDeletedRegular(Task task,
PersistenceManager persMgr)
Prueft, ob das ContainerFile geloescht werden muss. |
(package private) boolean |
hasToBeDeletedSpontan(Task task,
PersistenceManager persMgr,
Calendar compareDate,
LZVTask.DELETE_LEVEL level)
Prueft, ob das ContainerFile geloescht werden muss. |
void |
run()
|
static void |
setMinRemainingDiskCapa(long minRemainingDiskCapa)
Setzt die Mindest-Restkapazitaet der Festplatte. |
protected void |
work(ResultData resultData)
Führt das Löschen, spontanes Löschen oder die Löschzeitverlängerung aus. |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask |
---|
dataRequest, getObjectsFromDAV, init, isRequestSupported, parseArchiveDataSpec, sendErrorResponse, sendErrorResponse, sendSuccessResponse, sendSuccessResponse, subscribeSender, unsubscribeSender |
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, clone, 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 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static int CAPA_CHECK_RUNS
public static final long CHANGETIME_SPONTAN
public static final long CHANGETIME_REGULAR
private static long MIN_REM_DSK_CAPA
private static LZVTask.CapacityCheckResultData capacityCheckResultData
private static LZVTask.DeleteRegularResultData deleteRegularResultData
private byte[] indexMem
private int numOfVisitedCont
private int numOfDeletedCont
private LongTermTaskStatePublisher.Task _longTermTaskStatePublisherTask
private static int MAX_TIMESHIFTING
Constructor Detail |
---|
public LZVTask(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData, LongTermTaskStatePublisher longTermTaskStatePublisher) throws ConfigurationException
archiveMgr
- Der Archiv-Manager.rodl
- Der Listener wird benachrichtigt beim Beenden der Task.inputData
- Eingangswarteschlange.
ConfigurationException
Method Detail |
---|
public void run()
run
in interface Runnable
run
in class SingleTask
Runnable.run()
public static long getMinRemainingDiskCapa()
public static void setMinRemainingDiskCapa(long minRemainingDiskCapa)
minRemainingDiskCapa
- Neue Mindestrestkapazitaet in Byte.protected void work(ResultData resultData)
work
in class SingleTask
resultData
- Zu verarbeitender Datensatz aus der EingangswarteschlangeSingleTask.work(ResultData)
void changeDeletionTime(ResultData resultData) throws Exception
resultData
- Datensatz mit Informationen über den Auftrag
Exception
- Fehlerprotected void deleteSpontan(ArchiveDataSpecification[] ads, long changeTime) throws Exception
DeleteSpontanTask
löscht bei knapp werdendem Speicherplatz unwichtige Container.
Dazu ueberprueft er in einem parametrierbaren Zyklus, wieviel Speicherplatz dem Archivsystem noch zur Verfuegung steht. Erreicht die vorhandene Kapazität
einen Schwellwert, werden folgende Daten geloescht:
Exception
void containerWalk(ArchiveDataSpecification[] ads, long changeTime, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws Exception
ads
- changeTime
- compareDate
-
PersistenceException
IndexException
Exception
private void containerWalkAllFromDir(long changeTime, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws Exception
Exception
private void containerWalkByArchiveDataSpec(ArchiveDataSpecification[] ads, long changeTime, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws Exception
Exception
private void handleContainer(long changeTime, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws PersistenceException
changeTime
aus und ruft die 3 Loesch-Methoden auf.
changeTime
- compareDate
-
PersistenceException
void checkAndDeleteContainerSpontan(Task task, PersistenceManager persMgr, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws PersistenceException
compareDate
-
PersistenceException
boolean hasToBeDeletedSpontan(Task task, PersistenceManager persMgr, Calendar compareDate, LZVTask.DELETE_LEVEL level) throws PersistenceException
compareDate
-
PersistenceException
void checkAndDeleteContainerRegular(Task task, PersistenceManager persMgr) throws PersistenceException
PersistenceException
boolean hasToBeDeletedRegular(Task task, PersistenceManager persMgr) throws PersistenceException
PersistenceException
public static LZVTask.CapacityCheckResultData getCapacityCheckResultData(ArchiveManager archMgr)
public static LZVTask.DeleteRegularResultData getDeleteRegularResultData(ArchiveManager archMgr)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |