de.bsvrz.ars.ars.mgmt.tasks
Class ArchiveRequestedTask

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.ArchiveTask
              extended by de.bsvrz.ars.ars.mgmt.tasks.ArchiveRequestedTask
All Implemented Interfaces:
SuspendableTask, Runnable

public class ArchiveRequestedTask
extends ArchiveTask

Task zur Archivierung nachgefordeter Daten. Unterscheidet sich hauptsaechlich in der Behandlung von Datenluecken von ArchiveTask.

Author:
beck et al. projects GmbH, Alexander Schmidt

Nested Class Summary
 
Nested classes/interfaces inherited from class de.bsvrz.ars.ars.mgmt.tasks.ArchiveTask
ArchiveTask.CloseContainerObject
 
Nested classes/interfaces inherited from class java.lang.Thread
Thread.State, Thread.UncaughtExceptionHandler
 
Field Summary
private  ArchiveData ad
           
private static AtomicLong TOTAL_REQ_DS_FAIL
           
private static AtomicLong TOTAL_REQ_DS_QUEUED
           
private static AtomicLong TOTAL_REQ_DS_SUCCESS
           
 
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.ArchiveTask
adk, arsTime, aspID, atg, compresser, dataEntryLen, dataIdx, dataTime, didPath, didPathA, didPathN, din, idxBuffer, MSG_PID_DATAINDEX_ANOMALY, NA, NN, objID, ONLINE, openContID, REQUESTED, sv
 
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
ArchiveRequestedTask(ArchiveManager archiveMgr, RingOfDeathListener rodl, int tskIndex, ArchiveRingBuffer inQueue)
          Erzeugt einen ArchiveRequestedTask
 
Method Summary
static long getTotalDS_Fail()
           
static long getTotalDS_Processed()
           
static long getTotalDS_Queued()
           
static long getTotalDS_Success()
           
static void incrementTotalDS_Queued()
          Wird vom InQueuesMgr.ArchiveDataReceiver aufgerufen, nachdem er einen zu archivierenden Datensatz in eine der Queues gelegt hat.
protected  void logReceivedData(ArchiveData ad)
           
private  void presetData(ArchiveData archiveData, long archTime)
          Alle Instanzvariablen vorbelegen.
static void resetDSCounter()
          Setzt alle Zaehler auf 0.
 void work(Object archiveData, long archTime)
          Archiviert den uebergebenen Datensatz unter dem angegebenen Archivzeitstempel.
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.ArchiveTask
assignIndexes, createRebuildIndexFlagFile, getCloseContainerSuccess, getContainerSettings, getLastArchiveTime, handleErr, handleErr, handleSevereErr, logManualCloseContainer, logNewContainer, logReceivedData, logWriteData, lookupLastDataIdxes, mustCloseContainer, run, setContainerSettings, setLastArchiveTime, storeData, tooLargeForNewContainer
 
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

TOTAL_REQ_DS_QUEUED

private static AtomicLong TOTAL_REQ_DS_QUEUED

TOTAL_REQ_DS_SUCCESS

private static AtomicLong TOTAL_REQ_DS_SUCCESS

TOTAL_REQ_DS_FAIL

private static AtomicLong TOTAL_REQ_DS_FAIL

ad

private ArchiveData ad
Constructor Detail

ArchiveRequestedTask

public ArchiveRequestedTask(ArchiveManager archiveMgr,
                            RingOfDeathListener rodl,
                            int tskIndex,
                            ArchiveRingBuffer inQueue)
Erzeugt einen ArchiveRequestedTask

Parameters:
archiveMgr - Archiv-Manager
rodl - Ring-of-Death-Listener
tskIndex - Index des Tasks
inQueue - Eingangs-Warteschlange
Method Detail

presetData

private void presetData(ArchiveData archiveData,
                        long archTime)
                 throws DIdNodeNotFoundException
Alle Instanzvariablen vorbelegen.

Parameters:
archiveData - Archivdatensatz
archTime - Archivzeitstempel
Throws:
DIdNodeNotFoundException

work

public void work(Object archiveData,
                 long archTime)
Description copied from class: ArchiveTask
Archiviert den uebergebenen Datensatz unter dem angegebenen Archivzeitstempel.

Overrides:
work in class ArchiveTask
Parameters:
archiveData - Ergebnisdatensatz
archTime - Archivzeitstempel

logReceivedData

protected void logReceivedData(ArchiveData ad)

incrementTotalDS_Queued

public static void incrementTotalDS_Queued()
Wird vom InQueuesMgr.ArchiveDataReceiver aufgerufen, nachdem er einen zu archivierenden Datensatz in eine der Queues gelegt hat.


getTotalDS_Queued

public static long getTotalDS_Queued()
Returns:
Anzahl der seit Systemstart in die Warteschlangen eingefuegten zu archivierenden nachgeforderten Datensatze

getTotalDS_Processed

public static long getTotalDS_Processed()
Returns:
Anzahl der seit Systemstart zur Archivierung verarbeiteten Datesaetze (erfolgreich und nicht erfolgreich archiviert)

getTotalDS_Success

public static long getTotalDS_Success()
Returns:
Anzahl der seit Systemstart erfolgreich archivierten Datesaetze

getTotalDS_Fail

public static long getTotalDS_Fail()
Returns:
Anzahl der seit Systemstart nicht erfolgreich archivierten Datesaetze

resetDSCounter

public static void resetDSCounter()
Setzt alle Zaehler auf 0.