public class TaskManager extends java.lang.Object implements TaskManagerInterface
Constructor and Description |
---|
TaskManager(de.bsvrz.dav.daf.main.ClientDavInterface dav,
DataManager dataManager,
int maxProtocols,
int maxQueries,
long maxDelay,
int timeout,
de.bsvrz.dav.daf.main.config.ConfigurationObject configAuth)
Erzeugt den Task Manager
|
Modifier and Type | Method and Description |
---|---|
java.lang.Long[] |
getActiveProtocols()
Liste mit den Protokollen die gerade gesendet / erstellt werden.
|
ThreadPool |
getPool() |
java.util.List<ThreadPool.QueuedThread> |
getWaitingProtocols()
Liste mit den Anfrage-Ids und zugehörigen Protokoll-Ids, die momentan in der Warteschlange liegen.
|
boolean |
isTerminated()
Zeigt an ob der Taskmanager und alle Subthreads beendet wurden.
|
void |
process(de.bsvrz.dav.daf.main.config.SystemObject client,
long id,
int operation,
byte[] data,
long initialFlowControl)
Übergeben einer Anfrage an das Task Manager Submodul.
|
void |
shutdown()
Fährt den Task-Manager herunter.
|
public TaskManager(de.bsvrz.dav.daf.main.ClientDavInterface dav, DataManager dataManager, int maxProtocols, int maxQueries, long maxDelay, int timeout, de.bsvrz.dav.daf.main.config.ConfigurationObject configAuth) throws de.bsvrz.sys.funclib.losb.exceptions.FailureException
dav
- Verbindung zum DatenverteilerdataManager
- Daten ManagermaxProtocols
- Maximale Anzahl von Threads die gleichzeitig ausgeführt werden dürfen.maxQueries
- Maximale Größe der Warteschlange für Anufträge zur Protokollerstellung.maxDelay
- Maximale Zeitdauer in ms, für die die Protokollerstellung angehalten werden kann.timeout
- Anzahl Minuten ohne Antwort vom Client, nach der die Übertragung getrennt wirdconfigAuth
- Konfigurationsverantwortlicher für Anfragen an das Archivsystem.de.bsvrz.sys.funclib.losb.exceptions.FailureException
- Keine Verbindung zum Datenverteiler; Anlegen aller Treads scheitertpublic void process(de.bsvrz.dav.daf.main.config.SystemObject client, long id, int operation, byte[] data, long initialFlowControl)
process
in interface TaskManagerInterface
client
- Empfänger an den das Ergebnis der Anfrage gesendet werden sollid
- Id der Anfrageoperation
- Operationscode (gültige Werte sind ProtocolRelatedOperation
data
- Byte-Feld mit serialisierten AnfragedateninitialFlowControl
- InitialFlowControlpublic void shutdown()
TaskManagerInterface
shutdown
in interface TaskManagerInterface
TaskManagerInterface.shutdown()
public boolean isTerminated()
true
falls der Taskmanager beendet wurde.public java.lang.Long[] getActiveProtocols()
TaskManagerInterface
getActiveProtocols
in interface TaskManagerInterface
TaskManagerInterface.getActiveProtocols()
public java.util.List<ThreadPool.QueuedThread> getWaitingProtocols()
TaskManagerInterface
getWaitingProtocols
in interface TaskManagerInterface
TaskManagerInterface.getWaitingProtocols()
public ThreadPool getPool()
getPool
in interface TaskManagerInterface