public class ArchiveManager extends DAVAppBase
Zentrale Archiv-Verwaltung.
Modifier and Type | Class and Description |
---|---|
private static class |
ArchiveManager.ShutdownHook |
private class |
ArchiveManager.UncaughtExceptionHandler
Implementierung eines UncaughtExceptionHandlers, der bei nicht abgefangenen Exceptions und Errors entsprechende Ausgaben macht und im Falle eines Errors den Prozess terminiert.
|
DAVAppBase.DisconnectHandler
Modifier and Type | Field and Description |
---|---|
private java.util.TreeMap<SystemObject,java.lang.Integer> |
_applicationToArchiveQueryCount
Enthält die Anzahl aktiver Archivanfragen je Applikation.
|
private java.lang.Thread |
_hook |
private long |
_maxWaitNanosPerSubscription |
private long |
_minWaitNanosPerSubscription |
private int |
_numCheckPersistenceThreads |
private int |
_numCloseIndexThreads |
private int |
_numOfArchQueuesOnline |
private int |
_numOfArchQueuesReq |
private int |
_slidingWindowSize |
private java.lang.Object |
_terminatedLock |
private int |
_totalCapacityOfOnlineQueues |
private int |
_totalCapacityOfRequestedQueues |
private ArchivConfig |
archivConfig |
private java.lang.String |
archivePath |
private java.lang.String |
backupProps |
private java.lang.String |
checkPersDirMode |
private int |
cmdPortNum |
private DataIdentTree |
dataIdentTree |
static long |
DATAINDEX_OFFSET |
private static int |
DEFAULT_CMD_PORT |
private static int |
DEFAULT_MAX_QUERIES_PER_APPLICATION |
private InQueuesMgr |
inQueuesMgr |
private int |
maximumQueriesPerApplication |
static boolean |
ONLY_DATA
Nur für Testzwecke; falls wahr, werden nur Datensätze mit Daten archiviert.
|
private static java.lang.String |
P_BACKUP |
private static java.lang.String |
P_CHECK_PERS_DIR |
static java.lang.String |
P_CHECK_PERS_DIR_ALL |
static java.lang.String |
P_CHECK_PERS_DIR_DIR |
static java.lang.String |
P_CHECK_PERS_DIR_HDR |
private static java.lang.String |
P_MAX_QUERIES_PER_APPLICATION |
private static java.lang.String |
P_PERS_PATH |
private static java.lang.String |
P_PRINT_PARAMS |
private static java.lang.String |
P_PRINT_PARAMS_FILE |
private static java.lang.String |
P_REMOTE_CONTROL |
static java.lang.String |
P_REMOTE_CONTROL_DEFAULT |
static java.lang.String |
P_REMOTE_CONTROL_NORC |
private PersistenceManager |
persistenceMgr |
private boolean |
printParamsAndExit |
private java.io.File |
printParamsFile |
private boolean |
runningProperly |
private SimulationManager |
simulationMgr |
private static long |
SYS_TIME_OFFSET |
private TaskScheduler |
taskScheduler |
private boolean |
terminated |
applicationLabel, applicationName, argList, logger
Constructor and Description |
---|
ArchiveManager(java.lang.String[] args) |
Modifier and Type | Method and Description |
---|---|
void |
archiveIsReady()
Wird von ArchiveConfig ausgeführt, wenn alle Daten initial angemeldet wurden.
|
static long |
archiveTime() |
private void |
cleanUp()
Beendet alle Tasks, meldet App vom DAV ab.
|
void |
connectToDavQuit() |
int |
decreaseArchiveQueryCountForApplication(SystemObject application) |
private void |
dumpThreads() |
private boolean |
executeSpecialModeNoDAV() |
private boolean |
executeSpecialModeWithDAV() |
ArchivConfig |
getArchivConfig() |
int |
getArchiveQueryCountForApplication(SystemObject application) |
DataIdentTree |
getDataIdentTree() |
InQueuesMgr |
getInQueuesMgr() |
int |
getMaximumQueriesPerApplication() |
int |
getNumCheckPersistenceThreads() |
int |
getNumCloseIndexThreads() |
int |
getNumOfArchQueuesOnline() |
int |
getNumOfArchQueuesReq() |
java.util.List<java.lang.String> |
getOriginalCommandLineArguments() |
PersistenceManager |
getPersMgr() |
SimulationManager |
getSimulationMgr() |
TaskScheduler |
getTaskScheduler() |
int |
increaseArchiveQueryCountForApplication(SystemObject application) |
static void |
main(java.lang.String[] args)
Startpunkt des Archivsystems.
|
private void |
parseArguments(ArgumentList argLst) |
void |
quit()
Faehrt das ArS herunter und beendet die VM.
|
void |
quitError(java.lang.String msg)
Faehrt das ArS mit einer Fehlermeldung herunter und beendet die VM.
|
void |
quitErrorNoExit(java.lang.String msg)
Faehrt das ArS mit einer Fehlermeldung herunter.
|
void |
quitNoExit()
Faehrt das ArS herunter ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig).
|
void |
run() |
static void |
setSystemTimeOffset(long offsetSeconds)
Verstellt die Systemzeit um offset Sekunden.
|
boolean |
wasTerminated() |
close, connectToDav, disconnectFromDav, enableExplicitApplicationReadyMessage, getAsp, getAsp, getAtg, getAtg, getConfigAuth, getDataModel, getDavCon, getDD, getObj, getObj, isExplicitApplicationReadyMessage, reconnectHandler, setDisconnectHandler
private static long SYS_TIME_OFFSET
public static long DATAINDEX_OFFSET
public static boolean ONLY_DATA
Nur für Testzwecke; falls wahr, werden nur Datensätze mit Daten archiviert. Es gibt dann keine Datensätze folgender Art: “keine Quelle”, “keine Daten”, “pot. Datenluecke”. Manche Testverfahren werden einfacher, wenn ausschliesslich Datensätze archiviert werden, die auch gesendet wurden.
private static final int DEFAULT_CMD_PORT
private static final java.lang.String P_PRINT_PARAMS
private static final java.lang.String P_PRINT_PARAMS_FILE
private static final java.lang.String P_PERS_PATH
private static final java.lang.String P_CHECK_PERS_DIR
private static final java.lang.String P_REMOTE_CONTROL
private static final java.lang.String P_BACKUP
private static final java.lang.String P_MAX_QUERIES_PER_APPLICATION
private static final int DEFAULT_MAX_QUERIES_PER_APPLICATION
public static final java.lang.String P_CHECK_PERS_DIR_DIR
public static final java.lang.String P_CHECK_PERS_DIR_HDR
public static final java.lang.String P_CHECK_PERS_DIR_ALL
public static final java.lang.String P_REMOTE_CONTROL_NORC
public static final java.lang.String P_REMOTE_CONTROL_DEFAULT
private PersistenceManager persistenceMgr
private DataIdentTree dataIdentTree
private InQueuesMgr inQueuesMgr
private ArchivConfig archivConfig
private TaskScheduler taskScheduler
private SimulationManager simulationMgr
private boolean printParamsAndExit
private java.io.File printParamsFile
private java.lang.String checkPersDirMode
private java.lang.String archivePath
private java.lang.String backupProps
private int maximumQueriesPerApplication
private int cmdPortNum
private boolean terminated
private boolean runningProperly
private final java.lang.Object _terminatedLock
private final java.util.TreeMap<SystemObject,java.lang.Integer> _applicationToArchiveQueryCount
Enthält die Anzahl aktiver Archivanfragen je Applikation. Es sind nur für die Applikationen Einträge in der Map enthalten für die mindestens eine aktive Archivanfrage in der Verarbeitung ist.
private java.lang.Thread _hook
private int _numOfArchQueuesOnline
private int _numOfArchQueuesReq
private int _numCloseIndexThreads
private int _numCheckPersistenceThreads
private long _minWaitNanosPerSubscription
private long _maxWaitNanosPerSubscription
private int _slidingWindowSize
private int _totalCapacityOfOnlineQueues
private int _totalCapacityOfRequestedQueues
public ArchiveManager(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception
public boolean wasTerminated()
public static long archiveTime()
public static void setSystemTimeOffset(long offsetSeconds)
Verstellt die Systemzeit um offset Sekunden. NUR FÜR TESTZWECKE!!!
offsetSeconds
- Spanne in Sekundenprivate void parseArguments(ArgumentList argLst) throws java.lang.Exception
java.lang.Exception
public void run() throws java.lang.Exception
java.lang.Exception
public void connectToDavQuit()
private boolean executeSpecialModeNoDAV() throws java.lang.InterruptedException
java.lang.InterruptedException
private boolean executeSpecialModeWithDAV()
private void cleanUp()
Beendet alle Tasks, meldet App vom DAV ab.
public void quit()
Faehrt das ArS herunter und beendet die VM.
public void quitNoExit()
Faehrt das ArS herunter ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig).
public void quitError(java.lang.String msg)
Faehrt das ArS mit einer Fehlermeldung herunter und beendet die VM.
private void dumpThreads()
public void quitErrorNoExit(java.lang.String msg)
Faehrt das ArS mit einer Fehlermeldung herunter.
public static void main(java.lang.String[] args)
Startpunkt des Archivsystems.
args
- Kommandozeilenparameterpublic ArchivConfig getArchivConfig()
public DataIdentTree getDataIdentTree()
public InQueuesMgr getInQueuesMgr()
public PersistenceManager getPersMgr()
public TaskScheduler getTaskScheduler()
public SimulationManager getSimulationMgr()
public int getMaximumQueriesPerApplication()
public java.util.List<java.lang.String> getOriginalCommandLineArguments()
public int increaseArchiveQueryCountForApplication(SystemObject application)
public int decreaseArchiveQueryCountForApplication(SystemObject application)
public int getArchiveQueryCountForApplication(SystemObject application)
public int getNumCloseIndexThreads()
public int getNumCheckPersistenceThreads()
public int getNumOfArchQueuesOnline()
public int getNumOfArchQueuesReq()
public void archiveIsReady()
Wird von ArchiveConfig ausgeführt, wenn alle Daten initial angemeldet wurden.