Next: 6 Implementierung
Up: 5.6 Lebenszyklus eines Agenten
Previous: 5.6.3 Transfer eines laufenden
Es gibt vier mögliche Wege einen Agenten zu terminieren, indem die Operation
terminate_agent() aufgerufen wird:
- ein beliebiger Client von außen, der über die
CORBA-Objektreferenz des AgentSystemService auf
die Operation zugreift
- ein Agent innerhalb des Agentensystem über seinen AgentManager
- das Agentensystem auf dem der Agent läuft
- der Agent selbst
Als erstes wird die Methode cleanUp() des Agenten aufgerufen.
Dann wird der Thread, in dem der Agent läuft, vom
AgentManager gestoppt.
Der Agent wird aus dem Naming Service entfernt,
der BOA deaktiviert den Agenten, damit keine Aufrufe von
außen an den Agenten gehen können und abschließend wird die
AgentReference des Agenten aus dem AgentTable gelöscht.
In den Event Channel wird der Event 'AgentDown' geschickt.
Copyright Munich Network Management Team