de.bsvrz.ars.ars.mgmt
Class InQueuesMgr.ArchiveDataReceiver

java.lang.Object
  extended by de.bsvrz.ars.ars.mgmt.InQueuesMgr.DataReceiver
      extended by de.bsvrz.ars.ars.mgmt.InQueuesMgr.ArchiveDataReceiver
All Implemented Interfaces:
ClientReceiverInterface
Enclosing class:
InQueuesMgr

public class InQueuesMgr.ArchiveDataReceiver
extends InQueuesMgr.DataReceiver

Empfaengerklasse fuer Archivdaten


Field Summary
private  long[] _statisticLastCacheCounts
           
private  long _statisticLastTotalFailedDataSetCount
           
private  long _statisticLastTotalQueuedDataSetCount
           
private  long _statisticLastTotalReceivedDataSetCount
           
private  long _statisticLastTotalSuccessedDataSetCount
           
private  long _statisticNextPrintTime
           
private  boolean firstData
          Wird auf false gesetzt, nachdem der erste Datensatz empfangen wurde.
private  boolean isSuspended
           
static String MSG_PID_ATBACKSTEP_RESUME
           
static String MSG_PID_ATBACKSTEP_SUSPEND
           
static String MSG_PID_ATFWSTEP_RESUME
           
static String MSG_PID_ATFWSTEP_SUSPEND
           
private  boolean resumeArchMessageSentBS
           
private  boolean resumeArchMessageSentFS
           
private static long STATISTIC_PRINT_TIME_INTERVAL
           
private  boolean suspendArchMessageSentBS
           
private  boolean suspendArchMessageSentFS
           
private  long tMaxATimeForwardStep
          max.
 
Constructor Summary
InQueuesMgr.ArchiveDataReceiver()
           
 
Method Summary
 long getTMaxATimeForwardStep()
           
 boolean mustSuspendQueries()
           
 void processData(ResultData rd)
           
private  void putDataInQueue(long archiveTime, ResultData resultData)
          Legt das Datum in die passende Warteschlange.
private  void sendArchiveResumeMsgBS(long aTime)
           
private  void sendArchiveResumeMsgFS(long aTime)
           
private  void sendArchiveSuspendMsgBS(long aTime)
           
private  void sendArchiveSuspendMsgFS(long aTime)
           
 void setTMaxATimeForwardStep(long tMaxSeconds)
          Setzt den maximal erlaubten Vorwaertssprung der Archivzeit.
private  boolean testForArchiveTimeBackstep(long aTime, long lastArchiveTime)
          Prueft ob ein Ruecksprung der Archivzeit aufgetreten ist und sendet entsprechende Betriebsmeldungen.
private  boolean testForArchiveTimeForwardStep(long aTime, long lastArchiveTime)
           
 
Methods inherited from class de.bsvrz.ars.ars.mgmt.InQueuesMgr.DataReceiver
update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MSG_PID_ATBACKSTEP_SUSPEND

public static final String MSG_PID_ATBACKSTEP_SUSPEND
See Also:
Constant Field Values

MSG_PID_ATBACKSTEP_RESUME

public static final String MSG_PID_ATBACKSTEP_RESUME
See Also:
Constant Field Values

MSG_PID_ATFWSTEP_SUSPEND

public static final String MSG_PID_ATFWSTEP_SUSPEND
See Also:
Constant Field Values

MSG_PID_ATFWSTEP_RESUME

public static final String MSG_PID_ATFWSTEP_RESUME
See Also:
Constant Field Values

suspendArchMessageSentBS

private boolean suspendArchMessageSentBS

resumeArchMessageSentBS

private boolean resumeArchMessageSentBS

suspendArchMessageSentFS

private boolean suspendArchMessageSentFS

resumeArchMessageSentFS

private boolean resumeArchMessageSentFS

isSuspended

private boolean isSuspended

firstData

private boolean firstData
Wird auf false gesetzt, nachdem der erste Datensatz empfangen wurde. Wird verwendet, damit Vorwärtssprungs auch nach einem Neustart ses Archivsystems korrekt erkannt wird


tMaxATimeForwardStep

private long tMaxATimeForwardStep
max. Archivzeitsprung vorwaerts (siehe TAnfArS 5.1.2.4.3.3)


STATISTIC_PRINT_TIME_INTERVAL

private static final long STATISTIC_PRINT_TIME_INTERVAL
See Also:
Constant Field Values

_statisticNextPrintTime

private long _statisticNextPrintTime

_statisticLastTotalReceivedDataSetCount

private long _statisticLastTotalReceivedDataSetCount

_statisticLastTotalQueuedDataSetCount

private long _statisticLastTotalQueuedDataSetCount

_statisticLastTotalSuccessedDataSetCount

private long _statisticLastTotalSuccessedDataSetCount

_statisticLastTotalFailedDataSetCount

private long _statisticLastTotalFailedDataSetCount

_statisticLastCacheCounts

private long[] _statisticLastCacheCounts
Constructor Detail

InQueuesMgr.ArchiveDataReceiver

public InQueuesMgr.ArchiveDataReceiver()
Method Detail

processData

public void processData(ResultData rd)
Specified by:
processData in class InQueuesMgr.DataReceiver

mustSuspendQueries

public boolean mustSuspendQueries()

testForArchiveTimeForwardStep

private boolean testForArchiveTimeForwardStep(long aTime,
                                              long lastArchiveTime)

testForArchiveTimeBackstep

private boolean testForArchiveTimeBackstep(long aTime,
                                           long lastArchiveTime)
Prueft ob ein Ruecksprung der Archivzeit aufgetreten ist und sendet entsprechende Betriebsmeldungen.

Parameters:
aTime - aktuelle Archivzeit
lastArchiveTime -
Returns:
Wahr, wenn ein Ruecksprung aufgetreten ist, falsch sonst

putDataInQueue

private void putDataInQueue(long archiveTime,
                            ResultData resultData)
Legt das Datum in die passende Warteschlange. Falls die voll ist, wird einmal eine Log-Message ausgegeben. Wenn sie nicht mehr voll ist, wird ebenfalls einmal eine Log-Message ausgegeben.

Parameters:
archiveTime - Archivzeit des zu archivierenden Datums
resultData - zu archivierendes Datum

sendArchiveSuspendMsgFS

private void sendArchiveSuspendMsgFS(long aTime)

sendArchiveResumeMsgFS

private void sendArchiveResumeMsgFS(long aTime)

sendArchiveSuspendMsgBS

private void sendArchiveSuspendMsgBS(long aTime)

sendArchiveResumeMsgBS

private void sendArchiveResumeMsgBS(long aTime)

setTMaxATimeForwardStep

public void setTMaxATimeForwardStep(long tMaxSeconds)
Setzt den maximal erlaubten Vorwaertssprung der Archivzeit.

Parameters:
tMax - max. erlaubter Sprung (in Sekunden)

getTMaxATimeForwardStep

public long getTMaxATimeForwardStep()