Java Reference
In-Depth Information
Die Quelle startet die Abarbeitung und schreibt mit write() in den ersten passiven
Filter. Nach der Verarbeitung schreibt der erste passive Filter in den zweiten und die-
ser in die Senke. Ein Vorteil dieses Szenarios besteht darin, dass ein Filter nur dann
aktiv ist, wenn wirklich Daten zur Bearbeitung anstehen. Das folgende Bild zeigt dieses
Szenario:
:Quelle
:Filter1
:Filter2
:Senke
write()
write()
f1()
write()
f2()
write()
write()
write()
Bild 5-17 Sequenzdiagramm für das Push-Prinzip
Szenario 3 - Pull- und Push-Prinzip gemischt
Szenario 3 behandelt exemplarisch eine Pipeline, die einen aktiven Filter (Filter 2)
enthält. Die Quelle , die Senke und der Filter 1 verhalten sich passiv . Dabei wird das
Push- und das Pull-Prinzip gemischt angewandt, siehe Bild 5-18.
Der aktive Filter 2 fordert zyklisch Daten bei seinem Vorgänger an ( Pull-Prinzip ). Der
passive Vorgänger wird von Filter 2 synchron mit read() aufgerufen. Die Anfrage wird
mit read() weitergeleitet, bis sie ein Element der Pipeline erreicht, das Daten enthält,
hier die Quelle. Diese Weiterleitung entspricht dem Pull-Prinzip. Die Quelle antwortet
auf das read() und stößt mit ihrem Rückgabewert Filter 1 an. Dieser Filter arbeitet
genau einmal und antwortet nach seiner Verarbeitung mit seinem Rückgabewert. Der
Aufruf von write() durch Filter 2 entspricht dem Push-Prinzip . Hier das Sequenz-
diagramm für dieses Szenario:
:Quelle
:Filter 1
:Filter 2
:Senke
read()
read()
read() : result
f1()
read() : result
f2()
write()
write()
Bild 5-18 Sequenzdiagramm Pull- und Push-Prinzip gemischt
 
Search WWH ::




Custom Search