www.patterns-kompakt.de



Kontakt:




www.gernotstarke.de

www.springer-vieweg.de

Active Object

Active Object entkoppelt einen Methodenaufruf von der Methodenausführung. Client und Komponente werden in unterschiedlichen Threads ausgeführt und interagieren asynchron.

siehe: POSA4, PK

Sequenzdiagramm

Beispiel

Im Beispiel hat ein Client die Möglichkeit historische Daten zu Personen abzufragen.
Die HistoryQueryEngine benötigt dazu ggf. einige Zeit, weil sie verschiedene Datenquellen abklappert.

Der Client verwendet daher die Engine nicht direkt, sondern die HistoryQueryComponent, die sofort ein QueryRequestFuture zurück gibt, nachdem parallel ein Abfrageauftrag geplant wurde.

Das Future kann der Client solange pollen, bis ein Ergebnis vorliegt oder kein Interesse mehr besteht.

Um das Zusammenspiel im Detail beobachten zu können, setzen Sie die Variable LOG_LEVEL = Level.FINE im zugehörigen TestCase.

Ressourcen


© 2002-2013 · Dr. Gernot Starke · Email E-Mail schreiben...
Layout inspired by Verena Segert und SELFHTML).
Letzte Änderung 10. März 2013.

Impressum und Ausschluss der Garantie (disclaimer)