de.bsvrz.pua.prot.manager.taskmanager
Class TaskManager

java.lang.Object
  extended by de.bsvrz.pua.prot.manager.taskmanager.TaskManager
All Implemented Interfaces:
TaskManagerInterface

public class TaskManager
extends java.lang.Object
implements TaskManagerInterface

Hauptklasse des Task Manager Submodul. Diese Klasse nimmt Anfragen vom Manager Submodul entgegen. Ist es eine Anfrage zur Protokollerstellung, so wird diese einem untätigen Thread zugeordnet. Alle anderen Anfragen werden an den jeweils zuständigen Thread geleitet.

Version:
$Revision: 1.2 $ / $Date: 2008/01/22 16:55:49 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Martin Hilgers

Constructor Summary
TaskManager(ClientDavInterface dav, DataManager dataManager, int maxProtocols, int maxQueries, long maxDelay, ConfigurationObject configAuth)
          Erzeugt den Task Manager
 
Method Summary
 java.lang.Long[] getActiveProtocols()
          Liste mit den Protokollen die gerade gesendet / erstellt werden.
 java.lang.Long[][] 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(SystemObject client, long id, int operation, byte[] data)
          Übergeben einer Anfrage an das Task Manager Submodul.
 void shutdown()
          Fährt den Task-Manager herunter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TaskManager

public TaskManager(ClientDavInterface dav,
                   DataManager dataManager,
                   int maxProtocols,
                   int maxQueries,
                   long maxDelay,
                   ConfigurationObject configAuth)
            throws FailureException
Erzeugt den Task Manager

Parameters:
dav - Verbindung zum Datenverteiler
maxProtocols - Maximale Anzahl von Threads die gleichzeitig ausgeführt werden dürfen.
dataManager - Daten Manager
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.
configAuth - Konfigurationsverantwortlicher für Anfragen an das Archivsystem.
Throws:
FailureException - Keine Verbindung zum Datenverteiler; Anlegen aller Treads scheitert
Method Detail

process

public void process(SystemObject client,
                    long id,
                    int operation,
                    byte[] data)
Übergeben einer Anfrage an das Task Manager Submodul. Nun werden folgende Schritte durchgeführt:
1. Feststellen, welche Operation durchgeführt werden soll
2. Entpacken der Nutzdaten (aus data)
3. Ausführen des Auftrages.

Specified by:
process in interface TaskManagerInterface
Parameters:
client - Empfänger an den das Ergebnis der Anfrage gesendet werden soll
id - Id der Anfrage
operation - Operationscode (gültige Werte sind ProtocolRelatedOperation
data - Byte-Feld mit serialisierten Anfragedaten

shutdown

public void shutdown()
Description copied from interface: TaskManagerInterface
Fährt den Task-Manager herunter.

Specified by:
shutdown in interface TaskManagerInterface
See Also:
TaskManagerInterface.shutdown()

isTerminated

public boolean isTerminated()
Zeigt an ob der Taskmanager und alle Subthreads beendet wurden.

Returns:
true falls der Taskmanager beendet wurde.

getActiveProtocols

public java.lang.Long[] getActiveProtocols()
Description copied from interface: TaskManagerInterface
Liste mit den Protokollen die gerade gesendet / erstellt werden.

Specified by:
getActiveProtocols in interface TaskManagerInterface
Returns:
Liste mit Protokollen. Falls keine Protokolle erstellt werden, wird ein Feld der Länge 0 zurückgegeben.
See Also:
TaskManagerInterface.getActiveProtocols()

getWaitingProtocols

public java.lang.Long[][] getWaitingProtocols()
Description copied from interface: TaskManagerInterface
Liste mit den Anfrage-Ids und zugehörigen Protokoll-Ids, die momentan in der Warteschlange liegen. Falls keine Anfragen vorliegen, wird ein Feld der Länge 0 zurückgegeben.

Specified by:
getWaitingProtocols in interface TaskManagerInterface
Returns:
Liste mit Feld der Länger 2 mit Anfrage-Id [x][0] und Protokoll-Ids [x][1].
See Also:
TaskManagerInterface.getWaitingProtocols()


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.