Package de.elo.mover.main
Class DirectPool
java.lang.Object
de.elo.mover.main.DirectPool
Überschrift: DirectPool.
Beschreibung: Objekt für die direkten ELOas Regeln.
Copyright: Copyright (c) ELO Digital Office GmbH 2018 - 2020
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintMeldet zurück, wie viele Direct Threads in Wartestellung sind.voidcheckin(WorkingSet ws) Gibt einen WorkingSet an den Pool zurück.checkout()Holt den nächsten freien WorkingSet aus dem Pool.Liefert die Indexserver-Verbindung zurück.getLastError(int rulesetId) Ermittelt die letzte Fehlermeldung.intgetTotal(int rulesetId) Summiert die Gesamtzahl der Durchläufe eines Rulesets aus allen aktiven und passiven WorkingSets des Pools.booleanMeldet zurück, ob der angegebene Regelname vorhanden ist.voidinit(WebAppContextParam webAppContextParam, ELOasParams param) Initialisiert den Pool, erzeugt eine Indexserververbindung und löscht die aktiven bzw.intMeldet zurück, wie viele Direct Threads aktiv sind.booleanisEmpty()Meldet, ob der Pool aktive oder passive WorkingSets enthält.booleanMeldet zurück, ob gerade neue Rulesets geladen werden.voidLädt alle Rulesets in allen WorkingSets neu.voidreloadSingleRuleset(int rulesetId) Lädt einen Ruleset in allen aktiven und passiven WorkingSets neu.voidsetAvailableWorkingSets(LinkedList<WorkingSet> availWorkingSets) Setzt die Liste mit den verfügbaren WorkingSets.voidstop()Ruft die stop Methode für alle aktiven und pausierenden Rulesets des Pools auf.
-
Constructor Details
-
DirectPool
public DirectPool()Führt einen Pool von WorkingSet Objekten für Direct Rulesets. Jedes Objekt darf zu einem Zeitpunkt nur von einem Thread verwendet werden, dazu wird des per checkout abgeholt. Nach Abschluss der Ausführung wird es dann per checkin in den Pool zurückgegeben.
-
-
Method Details
-
isExpanding
public boolean isExpanding()Meldet zurück, ob gerade neue Rulesets geladen werden.- Returns:
- Rulesets werden geladen
-
init
Initialisiert den Pool, erzeugt eine Indexserververbindung und löscht die aktiven bzw. pausierenden Rulesets.- Parameters:
webAppContextParam- Daten aus der config.xml Dateiparam- Vorbereitete Parameter zur IX Url und Anmeldung- Throws:
RemoteException
-
stop
public void stop()Ruft die stop Methode für alle aktiven und pausierenden Rulesets des Pools auf. Diese bewirkt, dass die JavaScript Libraries Schleifendurchläufe zum nächsten möglichen Termin abbrechen und die Bearbeitung beenden. -
getTotal
public int getTotal(int rulesetId) Summiert die Gesamtzahl der Durchläufe eines Rulesets aus allen aktiven und passiven WorkingSets des Pools.- Parameters:
rulesetId- Nummer des Rulesets- Returns:
- Anzahl der Ausführungen
-
getLastError
Ermittelt die letzte Fehlermeldung. Wenn es in mehreren Threads Fehler gibt, wird die zuerst gefundene Meldung zurückgeliefert.- Parameters:
rulesetId- Ruleset ID- Returns:
- letzte Fehlermeldung
-
isEmpty
public boolean isEmpty()Meldet, ob der Pool aktive oder passive WorkingSets enthält.- Returns:
- Pool ist leer
-
inUseCount
public int inUseCount()Meldet zurück, wie viele Direct Threads aktiv sind.- Returns:
- Anzahl der aktiven Direct Threads
-
availableCount
public int availableCount()Meldet zurück, wie viele Direct Threads in Wartestellung sind.- Returns:
- Anzahl der wartenden Direct Threads
-
reloadSingleRuleset
Lädt einen Ruleset in allen aktiven und passiven WorkingSets neu.- Parameters:
rulesetId- Ruleset-ID- Throws:
RemoteException
-
reloadAllRulesets
Lädt alle Rulesets in allen WorkingSets neu.- Throws:
RemoteException
-
checkout
Holt den nächsten freien WorkingSet aus dem Pool. Falls kein freier WS vorhanden ist, wird ein neuer erzeugt. Es gibt eine obere Grenze für die Zahl der WorkingSets im Pool aus der Konfiguration.- Returns:
- aktiver WorkingSet
- Throws:
Exception
-
checkin
Gibt einen WorkingSet an den Pool zurück. Er wird dann aus der Liste der aktiven WS ausgetragen und wieder in die Liste der verfügbaren (passiven) WS übernommen.- Parameters:
ws- WorkingSet
-
setAvailableWorkingSets
Setzt die Liste mit den verfügbaren WorkingSets.- Parameters:
availWorkingSets- Liste mit verfügbaren WorkingSets
-
getIxConnect
Liefert die Indexserver-Verbindung zurück.- Returns:
- Indexserver-Verbindung
-
hasRule
Meldet zurück, ob der angegebene Regelname vorhanden ist.- Parameters:
ruleName- Regelname- Returns:
- Regelname ist vorhanden
-