Thread-Blockierung in Sammelnachrichtenflüssen vermeiden

Dieser Abschnitt ist nur zutreffend, wenn das Steuerterminal des Knotens zur Aggregationssteuerung in Ihrem Verteilernachrichtenfluss für die Ausgabe von Steuernachrichten mit einer Warteschlange verbunden ist. Wenn Sie keine Verbindung für das Steuerterminal herstellen, können Sie die Themen in diesem Abschnitt übergehen. Weitere Informationen zur Verbindung des Steuerterminals des Knotens zur Aggregationssteuerung finden Sie unter Verwendung der Steuernachricht in Aggregationsflüssen.

Der Knoten für Aggregationsantworten verfügt über zwei Eingabeterminals: Das Eingangs- und das Steuerterminal. Wenn Sie beide Terminals verwenden, müssen Sie beachten, dass die Verwendung des Steuerterminals optional ist; die effektivste Methode, dem Knoten für Aggregationsantworten Daten bereitzustellen, ist die Verwendung eines einzelnen MQEmpfangsknotens für den Sammelnachrichtenfluss gefolgt von einem Filterknoten. Der Filterknoten wird dazu verwendet, eine ankommende Nachricht entsprechend an die Eingangs- bzw. Steuerterminals des Knotens für Aggregationsantworten weiterzuleiten.

Verwenden Sie statt zwei MQEmpfangsknoten im Nachrichtenfluss nur einen MQEmpfangsknoten und einen Filterknoten, jeweils einen für das Eingangs- und das Steuerterminal. Sie sollten nur einen MQEmpfangsknoten verwenden, da es nicht möglich ist, die Verteilung zusätzlicher Threads (die durch die Verwendung zusätzlicher Instanzen verfügbar sind) zwischen zwei MQEmpfangsknoten anzugeben. Durch den erhöhten Datenverkehr im Eingangsterminal des Knotens für Aggregationsantworten ist die Verwendung von mehreren Threads im zugehörigen Empfangsknoten hilfreich. Diese Konfiguration ist bei der Verwendung von zwei MQEmpfangsknoten jedoch nicht möglich. Dadurch könnten möglicherweise für einen Knoten keine Threads verfügbar sein, wodurch die Antwortnachrichten gesichert und der Aggregationsmechanismus blockiert wird.

Verwenden Sie in Ihrem Filterknoten ein ESQL-Modul wie unten gezeigt, um sicherzustellen, dass die Nachrichten an das entsprechende Terminal im Knoten für Aggregationsantworten weitergeleitet werden:
CREATE FILTER MODULE FanIn_Filter
                 CREATE FUNCTION Main() RETURNS BOOLEAN
                 BEGIN
        IF Root.XML.ComIbmAggregateControlNode IS NULL THEN
            RETURN TRUE;  -- wired to In
        ELSE
            RETURN FALSE; -- wired to Control
        		END IF;
                 END;
END MODULE;
Anmerkung: Wenn Sie Ihren Sammelnachrichtenfluss nicht wie oben beschrieben konfigurieren können, können Sie für den MQEmpfangsknoten, der die Steuernachrichten liest, die Einzelthreadausführung erzwingen. Dazu müssen Sie den MQEmfangsknoten konfigurieren. Setzen Sie im Fenster 'Erweiterte Eigenschaften' für die Eigenschaft 'Modus für Reihenfolge' die Optionen 'Nach Warteschlangenreihenfolge' und 'Logische Reihenfolge' fest. Dadurch werden alle konfigurierten zusätzlichen Instanzen für die Verwendung durch den anderen MQEmpfangsknoten freigegeben. Da die Leistung des ersten MQEmpfangsknotens dadurch stark eingeschränkt ist, sollten Sie diese Konfiguration nur verwenden, wenn dies zwingend erforderlich ist.
Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
Nachrichtenfluss-Aggregation
Zugehörige Tasks
Den Aggregations-Sammelnachrichtenfluss erstellen
Den Aggregations-Verteilernachrichtenfluss erstellen
Aggregations-Verteilungsflüsse und -Sammlungsflüsse zuordnen
Zeitlimits für die Aggregation festlegen
Mehrere Knoten zur Aggregationssteuerung verwenden
Handhabung von Ausnahmebedingungen in Aggregationsflüssen
Aggregationsflüsse konfigurieren
Zugehörige Verweise
Knoten zur Aggregationssteuerung (AggregateControl)
Knoten für Aggregationsantworten (AggregateReply)
Knoten für Aggregationsanforderungen (AggregateRequest)
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac12313_