Package de.bsvrz.ars.ars.mgmt.simulation
Klasse SimulationManager
java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
de.bsvrz.ars.ars.mgmt.simulation.SimulationManager
- Alle implementierten Schnittstellen:
de.bsvrz.dav.daf.main.config.MutableSetChangeListener
public class SimulationManager
extends RepeatingTask
implements de.bsvrz.dav.daf.main.config.MutableSetChangeListener
Diese Klasse reagiert auf Änderungen der Menge der Simulationsobjekte. Pro Simulationsobjekt wird eine Instanz von
SimulationAutomaton
erzeugt.
Wird das Archivsystem während einer Simulation heruntergefahren wird, so werden die bisher abgelegten Simulationsdaten nicht gelöscht. Dies geschieht dann
entweder auf Anfrage oder wenn die Simulation erneut gestartet und in den Zustand 'Vorstart' gebracht wird.
-
Feldübersicht
Von Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.Task
_debug, _shouldTerminate
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungSimulationManager
(ArchiveManager archMgr) Meldet Objekt als Empfänger für Änderungen anPidSimulation.objectSet
an. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoid
Führt zum Aufrufen vonSimulationAutomaton.wakeUp()
nach dem Ablauf von der parametrierbaren Wartezeit.void
Bricht das Aufwecken der übergebenen Simulation ab.protected void
cleanUp()
Wird garantiert aufgerufen, nachdem der Task vollständig terminiert wurde.de.bsvrz.dav.daf.main.ClientDavInterface
getDav()
long
Liefert den Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.void
Leitet einen Löschauftrag an den ArchiveManager weiter.void
setTimeOutPeriod
(long timeout) void
start()
Startet den Thread, der den Task ausführtvoid
step()
Implementiert die beliebige wiederholt auszuführende Aufgabevoid
Terminiert den Task, indem dafür gesorgt wird, dasTask.shouldTerminate()
true zurückliefert.void
update
(de.bsvrz.dav.daf.main.config.MutableSet set, de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects, de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects) Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
execute, getArchMgr
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
addTaskStepListener, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, taskStepDone
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.Task
getDidTree, getPersistenceManager, shouldTerminate, suspendTaskIfNecessary
-
Konstruktordetails
-
SimulationManager
Meldet Objekt als Empfänger für Änderungen anPidSimulation.objectSet
an.- Parameter:
archMgr
- Archivmanager
-
-
Methodendetails
-
start
public void start()Beschreibung aus Klasse kopiert:AbstractTask
Startet den Thread, der den Task ausführt- Setzt außer Kraft:
start
in KlasseAbstractTask
- Siehe auch:
-
update
public void update(de.bsvrz.dav.daf.main.config.MutableSet set, de.bsvrz.dav.daf.main.config.SystemObject[] addedObjects, de.bsvrz.dav.daf.main.config.SystemObject[] removedObjects) - Angegeben von:
update
in Schnittstellede.bsvrz.dav.daf.main.config.MutableSetChangeListener
-
getDav
public de.bsvrz.dav.daf.main.ClientDavInterface getDav()- Gibt zurück:
- Verbindung zum Datenverteiler.
-
addWakeUp
Führt zum Aufrufen vonSimulationAutomaton.wakeUp()
nach dem Ablauf von der parametrierbaren Wartezeit.- Parameter:
dfa
- Automat der benachrichtigt werden soll.
-
cancelWakeUp
Bricht das Aufwecken der übergebenen Simulation ab.- Parameter:
dfa
- Simulation
-
step
Beschreibung aus Klasse kopiert:RepeatingTask
Implementiert die beliebige wiederholt auszuführende Aufgabe- Angegeben von:
step
in KlasseRepeatingTask
- Löst aus:
InterruptedException
- Thread unterbrochen
-
terminateTask
public void terminateTask()Beschreibung aus Klasse kopiert:Task
Terminiert den Task, indem dafür gesorgt wird, dasTask.shouldTerminate()
true zurückliefert. Der Task sollte diese Funktion regelmäßig aufrufen um dann bei Rückgabe vontrue
den Task zeitnah zu beenden.- Setzt außer Kraft:
terminateTask
in KlasseTask
-
cleanUp
protected void cleanUp()Beschreibung aus Klasse kopiert:AbstractTask
Wird garantiert aufgerufen, nachdem der Task vollständig terminiert wurde. Dieser Code wird im selben Thread ausgeführt, wie der eigentliche TaskTut standardmäßig nichts, kann überschrieben werden um Daten aufzuräumen, Abmeldungen durchzuführen usw.
- Setzt außer Kraft:
cleanUp
in KlasseAbstractTask
-
insertDeleteQuery
Leitet einen Löschauftrag an den ArchiveManager weiter.- Parameter:
ard
- Auftragsparameter
-
getWakeUpTime
public long getWakeUpTime()Liefert den Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.- Gibt zurück:
- Zeitraum in ms in dem eine erneute Steuerungsinformation für eine Simulation eingehen muss.
-
setTimeOutPeriod
public void setTimeOutPeriod(long timeout) - Parameter:
timeout
- Zeit in ms in der ein Steuerbefehl von der Simulationssteuerung kommen muss, nachdem diese einen 'keine Quelle' Datensatz gesendet hat.
-