Lebenszyklus einer Regel

Jede Phase im Lebenszyklus einer Regel kann mehrere Ursachen und Auswirkungen haben. Durch Schreiben und Einschließen von Ausdrücken in Lebenszyklusaktionen (durch das Element <lifeCycleActions> definiert) kann der Autor der Regeln die Aktionen definieren, die in jeder Phase ausgeführt werden sollen.

Phasen im Lebenszyklus einer Regel

Der Lebenszyklus einer Regel umfasst die folgenden vier primären Phasen:
Laden
Das Laden der Regel in die aktive ACT-Engine, die die Aktionen im Element <onLoad> auslöst.
Aktivierung
Die Aktivierung der Regel, die die Aktionen im Element <onActivation> auslöst.
Inaktivierung
Die Inaktivierung der Regel, die die Aktionen im Element <onDeactivation> auslöst.
Entladen
Das Entladen der Regel aus der aktiven ACT-Engine, die die Aktionen im Element <onUnload> auslöst.

Die Phasen der Aktivierung und der Inaktivierung können im Lebenszyklus einer Regel mehrfach vorkommen, die Phasen des Ladens und Entladens jedoch nur einmal.

Normalerweise müssen Sie keine Lebenszyklusaktionen definieren. Es folgen Beispiele zum Definieren einer besonderen Lebenszyklusaktion:
  • Wenn eine bestimmte Regel geladen wird, könnten Sie eine Verbindung zu einem externen System (wie z. B. einem Datenbankmanager) herstellen wollen, auf das in dieser Regel zugegriffen werden muss. Wenn diese Regel entladen wird, soll die Verbindung unterbrochen werden, und es sollen erforderliche Bereinigungsprozesse ausgeführt werden.
  • Wenn eine bestimmte Regel aktiviert wird, möchten Sie möglicherweise prüfen, ob bestimmte Ressourcen für diese Regel verfügbar sind.
  • Wenn eine Schwellenwertregel inaktiviert wird, der Schwellenwert aber nicht erreicht wurde und der Zeitraum noch nicht verstrichen ist, möchten Sie möglicherweise eine Nachricht mit diesen Informationen an jemanden weiterleiten.
Da die Aktivierung und Inaktivierung einer Regel mehrmals im Lebenszyklus auftreten kann, können beliebige Aktionen, die Sie für diese Phasen codieren, öfters ausgeführt werden.

Ursachen und Auswirkungen jeder Lebenszyklusphase

Tabelle 1 listet die Ursachen und Auswirkungen jeder Lebenszyklusphase auf.

Tabelle 1. Ursachen und Auswirkungen jeder Lebenszyklusphase
Lebenszyklusphase Ursachen Auswirkungen
Laden Beliebige folgende Umstände:
  • Eine Regel oder ein Regelblock wird hinzugefügt oder ersetzt, wodurch die neue Regel bzw. die neuen Regeln geladen werden.
  • Der Regelsatz wird in der ACT-Engine ersetzt, wodurch die Regeln im neuen Regelsatz geladen werden.
Die Aktionen im Element <onLoad> werden ausgeführt.
Aktivierung Die Regel wird aktiviert. Eine Regel kann wie folgt aktiviert werden:
  • Entsprechend den Definitionen im Element <activationInterval>
  • Durch die Methode "activate()", die über die Variable "act_lib" verfügbar ist
  • Durch Anwendungsaufrufe an die Methode "activate()" in der ACT-Engine
Wenn die Regel inaktiv ist, werden die Aktionen im Element <onActivation> ausgeführt.
Inaktivierung Die Regel wird inaktiviert. Eine Regel kann wie folgt inaktiviert werden:
  • Entsprechend den Definitionen im Element <activationInterval>, mit der Ausnahme, dass das Element <deactivateOnEvent> im Element <activationByGroupingKey> keine Inaktivierung der Regel bewirkt
  • Durch die Methode "deactivate()", die über die Variable "act_lib" verfügbar ist
  • Durch Anwendungsaufrufe an die Methode "deactivate()" in der ACT-Engine
Wenn die Regel aktiv ist, werden die Aktionen im Element <onDeactivation> ausgeführt.
Entladen Beliebige folgende Umstände:
  • Die ACT-Engine wird beendet, wodurch die Regeln entladen werden.
  • Eine Regel oder ein Regelblock wird entfernt oder ersetzt, wodurch die alte Regel bzw. die alten Regeln entladen werden.
  • Der Regelsatz wird in der ACT-Engine gelöscht oder ersetzt, wodurch die Regeln im alten Regelsatz entladen werden.
Wenn die Regel aktiv ist, werden die Aktionen im Element <onDeactivation> und anschließend die Aktionen im Element <onUnload> ausgeführt. Anderenfalls werden nur die Aktionen im Element <onUnload> ausgeführt.